sizeof operator
От: srd  
Дата: 11.11.04 04:53
Оценка:
Оператор sizeof возвращает рамер объекта в байтах или в char'ах? И отличается ли это в Си и в Си++? В MSDN в двух местах написано разное
Re: sizeof operator
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 11.11.04 05:05
Оценка: +1
Здравствуйте, srd, Вы писали:

srd>Оператор sizeof возвращает рамер объекта в байтах или в char'ах?

В байтах. Но размер переменной типа char, как правило, равен одному байту.

srd>И отличается ли это в Си и в Си++?

Нет — и там, и там в байтах.

srd>В MSDN в двух местах написано разное

Это где?
[ posted via RSDN@Home 1.1.4 beta 3 r230, accompanied by Motorhead — Them Not Me ]
- Искренне ваш, Поросенок Пафнутий
Re: sizeof operator
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 11.11.04 06:03
Оценка: +1
Здравствуйте, 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.

Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re: sizeof operator
От: Андрей Тарасевич Беларусь  
Дата: 11.11.04 06:24
Оценка: +1
Здравствуйте, srd, Вы писали:

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


В терминологии языков C и C++ термин "байт" и термин "char" — синонимы. "char" — это ни что иное, как C/C++-ный байт. Вот в них-то 'sizeof' и возвращает размер.
Best regards,
Андрей Тарасевич
Re[2]: sizeof operator
От: Кодт Россия  
Дата: 11.11.04 10:07
Оценка:
Здравствуйте, Mr. None, Вы писали:

MN>В байтах, но char — это всегда байт, при этом размер байта не обязан быть равен 8-ми битам (5.3.3/1)


Осталось только упомянуть, что 8-битное нечто называется октет.
Перекуём баги на фичи!
Re: sizeof operator
От: MShura  
Дата: 11.11.04 10:26
Оценка:
Здравствуйте, srd, Вы писали:

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


На многих DSP процессорах (например TS-201) размер char по умолчанию равен 4 байтам и sizeof(int) = 1.
Re[2]: sizeof operator
От: GarryIV  
Дата: 11.11.04 10:33
Оценка:
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
WBR, Igor Evgrafov
Re[3]: sizeof operator
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 11.11.04 11:01
Оценка:
Здравствуйте, 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 ]
- Искренне ваш, Поросенок Пафнутий
Re[2]: sizeof operator
От: srd  
Дата: 12.11.04 02:18
Оценка:
Здравствуйте, 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.
Re: sizeof operator
От: srd  
Дата: 12.11.04 02:20
Оценка:
Спасибо всем за ответы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.