Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

В чем различия объявлений int и INT?

388
29 апреля 2005 года
warezhka
129 / / 11.10.2004
Народ в чем разница между int и INT? Какой тип лучше указывать в объявлении в программе на VC++?
301
30 апреля 2005 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by warezhka
Народ в чем разница между int и INT? Какой тип лучше указывать в объявлении в программе на VC++?


Думаю, что НИКАКОЙ. Почему-то мне так кажется.=) Что лучше использовать не подскажу (по понятным причинам). Но, IMHO, int эстетичнее.
Вот.

10
30 апреля 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by warezhka
Народ в чем разница между int и INT?


Насколько я понимаю, идентификатор int встроен в компилятор и поэтому не зависит от платформы, а INT - приблуда Windows.

3
30 апреля 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by warezhka
Народ в чем разница между int и INT? Какой тип лучше указывать в объявлении в программе на VC++?



В С++ нет типа INT, есть int.
INT - это чаще всего макрос, который теоретически может быть раскрыт во что угодно.

Если ты пишешь что-то свое, что не требует такого "превращения", то лучше использовать int. Если ты используешь какие-то библиотеки, в которых используется INT, то лучше применять его (именно в контексте использования библиотеки), т.к. автор библиотеки возможно ввел его специально.

425
04 мая 2005 года
sq_deep
498 / / 18.02.2005
Цитата:
Originally posted by warezhka
Народ в чем разница между int и INT? Какой тип лучше указывать в объявлении в программе на VC++?


Дело в том, что длина объекта типа int не определена в стандартах языка. Поэтому INT вместо int обычно используют тогда, когда требуется взаимодействие между платформами и при этом длина данных существенна. Например, мы передаём структуру с целыми числами по сети, и её принимает машина, у которой int другой длины. Тогда есть смысл написать

typedef __int32 INT;
или
#define INT __int32

в надежде, что при компиляции на другой платформе кто-то заменит майкрософтовский __int32 на то, что понимает соответствующий компилятор.

Если же вы не планируете портировать программу, то есть смысл пользоваться стандартным int, потому что этот тип мапируется на тип данных, с которым процессору удобнее всего работать. А это значит, что на 64-битном процессоре вы перекомпилируете весь свой проект, и будет у вас int уже состоять не из 32 бит, а из 64.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог