![]() |
|
|
![]()
|
|
| Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Читаю книгу по Visual C++ и в примерах вижу для переменных LONG такие вещи:
m_lFileSize = 0L; if (lOffset != -1L) { } Мне непонятно, а что разве компилятор LONG lFileSize = 0; и LONG lFileSize = 0L; по разному компилирует? Какой смысл в добавлении L? |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Скажем так - это что-то типа "правильного тона" программирования. Лично я этого не придерживаюсь.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Строго говоря, 0 - это int, поэтому может происходить преобразование типа. В данном случае, скорее всего, разницы нет. Но есть случаи, когда тип нужно задавать явно. Нарпимер, при использовании шаблонов:
-------------------- ... |
|||
|
||||
| Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Конечно преобразование будет и при том к тому самому LONG! Отсюда и вопрос возник, что зачем это автору понадобилось Книга: " Visual C++ .NET. Библия пользователя." Том Арчер, Эндрю Уайтчепел. |
|||
|
||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 5 Всего: 124 |
int f( int );
int f( long ); f( 0L ); Для случаев такого рода (это рафинированный пример). Лично использовал (к исходникам сейчас доступа нет, поэтому реальный пример не смогу привести). |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 1 Всего: 37 |
Посмотрел Disassembly... По крайней мере VS2005 одно и то же для этих случаев генерит... ИМХО модификаторы у констант имеют значение тока для шаблонов и битовых сдвигов (1 << 32 = 0; 1L << 32 = 2^32)
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |