LINUX.ORG.RU

История изменений

Исправление Shadow1251, (текущая версия) :

Нормально, ходишь от байта к байту:

std::size_t bytes = sizeof(p);
unsigned char* step = reinterpret_cast<unsigned char*>(&p);
while (bytes--) {
    if ((*step++)) {
        break;	    
    }
}

Исходная версия Shadow1251, :

Нормально, ходишь от байта к байту:

std::size_t bytes = sizeof(p);
unsigned char* step = reinterpret_cast<unsigned char*>(&p);
while (bytes--) {
    if ((*step++)) {
        break;	    
    }
}

А если в p держишь один тип у всех полей то в ней паддинга не будет и memset не нужен.