Это одна из самых важных причин для использования C/C++ в написании некоторых классов системного программного обеспечения, но это не что иное, как расширение компилятора, которое очень распространено. Почему комитет не рассматривает его официально? Было ли это несовместимо с какими-либо статьями в существующих спецификациях, такими как Does public and private have any influence on the memory layout of an object?Что мешает __attribute __ ((упакован)) попасть в ISO C/C++?
8
A
ответ
2
Почему комитет не рассматривает его официально?
Потому что никто не предлагал его. Самое близкое к такому предложению было N3986 (PDF), которое работает только для битполей. comments from the discussion предполагают, что комитет будет заинтересован, но они хотят понять, что делает существующая практика, прежде чем пытаться продвигаться вперед по стандартизации.
С тех пор, кто отвечал за это предложение, он решил не продолжать его преследовать.
Выравнивание, самое важное. –
Нет такой вещи, как «ISO C/C++». Несмотря на то, что коллоквиализм «C/C++» является необузданным и часто понятным, когда вы спрашиваете конкретно о стандартизации, я бы ожидал внимания к таким деталям. –
@KerrekSB Здесь, по-видимому, это сокращение от «ISO C и/или ISO C++». Это совершенно обычное английское использование ... Я просто использовал слово «и/или», но вы не стали бы жаловаться на отсутствие логического оператора, называемого «и/или». – immibis