Параметры шаблона May 18, 2009
До чего людей доводит “тяга к прекрасному”…
Был вполне заурядный кусок кода:
namespace nmea
{
struct DefaultPolicy
{
static bool IsAllowed(const char*, size_t)
{
return true;
}
// ....
};
template<typename Policy=DefaultPolicy>
struct NmeaProcessor
{
bool Parse(IFieldReceiver* receiver)
{
// ....
return true;
}
bool Accumulate(const char* data, size_t size)
{
// ....
return true;
}
};
} // namespace nmea
struct LocalPolicy
{
static …Точки следования May 15, 2009
Недавно опять перечитывал “Новые сложные задачи на C++”, сокрушаясь о своем уровне знания основного средства заработка… Наткнувшись на пример с i+++++i, вспомнил про давнишнюю задачу, которую давали на одном из собеседований (слава Богу - не мне, поскольку предмет дискуссии очень гнилой, и услышать хотят явно не про UB).
int i …Как работают исключения С++ MSVC 2003/2008 Apr 25, 2009
Вот ссылочка на достаточно понятный пост про обработку исключений C++: How a C++ compiler implements exception handling
Upd: Вот еще парочка очень неплохих вводных статей: - О компиляции /EHsc (часть 1) - О компиляции /EHsc (часть 2)
Upd2: По внутренностям SEH-исключений есть хорошая статья Matt’a Pietrek’a, правда, старенькая (1997 …
Использование псевдорегистров MSVC при отладке приложений Apr 16, 2009
Недавно застал человека за очень творческой работой, он методично унавоживал исходный код строками вида
DWORD nCode = ::GetLastError();
char buf[256];
sprintf("LastError=%lu", nCode);
::OutputDebugStringA(buf);
Делалось это с целью поймать ошибку, появляющуюся, когда функция API выдает ошибку, а код ее игнорирует и продолжает дальше работать с невалидными данными.
Я …
Что такое MinWin и зачем он нужен Apr 12, 2009
MinWin — это понятие, используемое Microsoft для описания ядра и операционной системы, основные компоненты которых начали разрабатываться одновременно с Windows Vista. Данное понятие впервые использовалось в 2003 для описания примерно 95 % компонентов операционной системы (правда, со временем этот процент снизился). Это самый популярный вариант минималистичной модульной сборки компонентов Windows, который изначально …