Когда я бегу:
void samp(int a = 0, int b = 2,unsigned char c = 1, unsigned char d = 2 )
{
std::cout << reinterpret_cast<intptr_t>(&b)- reinterpret_cast<intptr_t>(&a) << "," << reinterpret_cast<intptr_t>(&c) - reinterpret_cast<intptr_t>(&a) << "," << reinterpret_cast<intptr_t>(&d) - reinterpret_cast<intptr_t>(&a) << std::endl;
}
Я получаю 4,8,12. Я бы ожидал 4,5,6, поскольку sizeof(unsigned char)
равно 1, и я не думаю, что есть проблемы с заполнением. Определяется ли эта реализация? Чего мне не хватает?