0
Размер пустой структуры равен 0 байт в C, но в C++ это 1 байт. Зачем? Какая разница?Размер пустой структуры в C и C++
Размер пустой структуры равен 0 байт в C, но в C++ это 1 байт. Зачем? Какая разница?Размер пустой структуры в C и C++
В C
его не правильно, вы не можете иметь struct
без члена в нем.
C99 says
,
Если структура декларирование-лист не содержит именованных пользователей, поведение не определено.
Однако GCC
позволяет иметь не член структуры с размером будучи 0
. G++
обрабатывает структуру, как будто она содержит один элемент типа char
.
Посмотрите на это ранее SO answering почему в C++ размер 1B
.
В чем разница? Это разные языки. –
ОК! Но новые возможности C - это не что иное, как C++ Correct! если это другой язык, означает, как файлы заголовков поддерживаются c в C++? Существует сходство b/w двух языков. но почему это 0 байт в C? – Ramakrishna
@Ramakrishna: Простой: не все файлы заголовков C поддерживаются в C++. – PlasmaHH