![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
Чем отличаются директивы и чем следует пользоваться?
#pragma once и #ifndef #define #endif -------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
| shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 4 Всего: 11 |
не каждый компилятор поддерживает... -------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
| Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
Значит если целевые компиляторы VC++ 7 или Intel C++, то можно пользоваться #pragma once без опасения?
-------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
| bel_nikita |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
#pragma once - вставляется, грубо говоря, для того, что бы постоянно не производить компиляцию этого файла.
#ifdef == #if defined(...) - Если определено что-то #ifndef == #if !defined(...) - Если не определено что-то Блок #if всегда должен заканчиваться #endif. Также еще есть #else. Ну, я , думаю, это понятно.
И так далее. Можно просто #if (__CHTO_TO__ == 5). Т.е. если __CHTO_TO__ = 5, то делаем какое-то действие В общем это язык препроцессора |
||||||
|
|||||||
| Alastis |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
bel_nikita
Да, что означает #ifdef и т.д. я понял Но #pragma once я думал служит для замены #ifdef... в хэдере. То есть, вместо
достаточно написать
и все. Опять же увидел я это в рекомендациях -------------------- Прости, что я говорю, когда ты меня перебиваешь. |
||||
|
|||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
не знаю, кто там, что рекомендует, но лучше, наверное, так:
|
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 7 Всего: 19 |
Alastis
#pragma once даже с VC будет работать не пре всех настройках.
хоть и получается "масло масленное" но согласен. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |