*** ВНИМАНИЕ: Блог переехал на другой адрес - demin.ws ***

среда, 24 февраля 2010 г.

Простое понимание, что возвращает sizeof

Чтобы просто и понятно осознать, что возвращает sizeof в С++ для сложных составных типов (структур и классов) и сходу не вдаваться в детали выравнивания -- надо запомнить, что sizeof возвращает число, равное разности адресов двух соседних элементов массива, хранящего экземпляры вашего типа.

4 комментария:

  1. Насколько я помню, gcc позволяет путем манипуляции с __attribute__ сделать так, чтобы sizeof возвращал одно, а расстояние между элементами массива было другое. :)

    ОтветитьУдалить
  2. Qehgt Возможно тут имеется ввиду выравнивание данных в памяти.

    ОтветитьУдалить
  3. Извините, а где ещё могут находиться данные?

    Интересует ответ в терминах модели памяти, принятой в С/С++, конечно же.

    ОтветитьУдалить