Оператор sizeof возвращает рамер объекта в байтах или в char'ах? И отличается ли это в Си и в Си++? В MSDN в двух местах написано разное
Здравствуйте, srd, Вы писали:
srd>Оператор sizeof возвращает рамер объекта в байтах или в char'ах?
В байтах. Но размер переменной типа char, как правило, равен одному байту.
srd>И отличается ли это в Си и в Си++?
Нет — и там, и там в байтах.
srd>В MSDN в двух местах написано разное 
Это где?

[ posted via RSDN@Home 1.1.4 beta 3 r230, accompanied by Motorhead — Them Not Me ]
Здравствуйте, srd, Вы писали:
srd>Оператор sizeof возвращает рамер объекта в байтах или в char'ах? И отличается ли это в Си и в Си++? В MSDN в двух местах написано разное
В байтах, но char — это всегда байт, при этом размер байта не обязан быть равен 8-ми битам (5.3.3/1)
The sizeof operator yields the number of bytes in the object representation of its operand... sizeof(char), sizeof(signed char) and sizeof(unsigned char) are 1; the result of sizeof applied to any other fundamental type (3.9.1) is implementationdefined.
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Здравствуйте, srd, Вы писали:
srd>Оператор sizeof возвращает рамер объекта в байтах или в char'ах? И отличается ли это в Си и в Си++? В MSDN в двух местах написано разное
В терминологии языков C и C++ термин "байт" и термин "char" — синонимы. "char" — это ни что иное, как C/C++-ный байт. Вот в них-то 'sizeof' и возвращает размер.
Здравствуйте, Mr. None, Вы писали:
MN>В байтах, но char — это всегда байт, при этом размер байта не обязан быть равен 8-ми битам (5.3.3/1)
Осталось только упомянуть, что 8-битное нечто называется октет.
Здравствуйте, srd, Вы писали:
srd>Оператор sizeof возвращает рамер объекта в байтах или в char'ах? И отличается ли это в Си и в Си++? В MSDN в двух местах написано разное
На многих DSP процессорах (например TS-201) размер char по умолчанию равен 4 байтам и sizeof(int) = 1.
Hello, SchweinDeBurg!
S> Здравствуйте, srd, Вы писали:
srd>> Оператор sizeof возвращает рамер объекта в байтах или в char'ах?
S> В байтах. Но размер переменной типа char, как правило, равен одному
S> байту.
srd>> И отличается ли это в Си и в Си++?
S> Нет — и там, и там в байтах.
Неправда Ваша.
Размеры объектов с С++ выражаются в единицах размера char. Таким образом размер char по определению равен 1.
Псалом 4.6 Размеры.
Б. Страуструп
WBR, Igor Evgrafov.
Posted via RSDN NNTP Server 1.9 gamma
Здравствуйте, GarryIV, Вы писали:
GIV>Неправда Ваша.
GIV>GIV>Размеры объектов с С++ выражаются в единицах размера char. Таким образом размер char по определению равен 1.
GIV>Псалом 4.6 Размеры.
GIV>Б. Страуструп
P.S.
Да что Вы сразу с кулаками-то на мой виндовозный насест...

[ posted via RSDN@Home 1.1.4 beta 3 r230, accompanied by AC-DC — Show Business ]
Здравствуйте, SchweinDeBurg, Вы писали:
srd>>В MSDN в двух местах написано разное
SDB>Это где?
Меня смутило следующее:
MSDN -> C++ Language reference -> sizeof Operator
>>The sizeof operator yields the size of its operand with respect to the size of type char.
MSDN -> C Language reference -> The sizeof Operator
>>The sizeof operator gives the amount of storage, in bytes, required to store an object of the type of the operand.