Предположим, у меня есть структура, которая содержит int и char:
struct thing_t {
int value = 0;
char other_value = 0;
};
Из-за того, как все выровнено в памяти, sizeof(thing_t)
должно быть 8, так как размер самого большого элемента составляет 4 байта. Если я создаю инициализированный по умолчанию экземпляр thing_t
, будут ли дополнительные 3 байта инициализированы равными 0?
Я понимаю, что обычно это не подходит, но я писал хеш-функцию, и поведение хеш-функции по умолчанию - хеширование универсального типа, как если бы это был массив байтов. Если бы дополнительные байты иногда не инициализировались в 0, я понял, что мой подход может вызвать проблемы.