| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > #pragma once vs #ifndef #define #endif |
| Автор: Alastis 30.11.2004, 07:38 |
| Чем отличаются директивы и чем следует пользоваться? #pragma once и #ifndef #define #endif |
| Автор: shedon 30.11.2004, 08:13 | ||
не каждый компилятор поддерживает... |
| Автор: Alastis 30.11.2004, 08:27 |
| Значит если целевые компиляторы VC++ 7 или Intel C++, то можно пользоваться #pragma once без опасения? |
| Автор: bel_nikita 30.11.2004, 10:10 | ||||||
| #pragma once - вставляется, грубо говоря, для того, что бы постоянно не производить компиляцию этого файла. #ifdef == #if defined(...) - Если определено что-то #ifndef == #if !defined(...) - Если не определено что-то Блок #if всегда должен заканчиваться #endif. Также еще есть #else. Ну, я , думаю, это понятно.
И так далее. Можно просто #if (__CHTO_TO__ == 5). Т.е. если __CHTO_TO__ = 5, то делаем какое-то действие В общем это язык препроцессора |
| Автор: Alastis 30.11.2004, 10:34 | ||||
| bel_nikita Да, что означает #ifdef и т.д. я понял Но #pragma once я думал служит для замены #ifdef... в хэдере. То есть, вместо
достаточно написать
и все. Опять же увидел я это в рекомендациях |
| Автор: bel_nikita 30.11.2004, 10:46 | ||
не знаю, кто там, что рекомендует, но лучше, наверное, так:
|
| Автор: Mad 30.11.2004, 14:59 | ||
| Alastis #pragma once даже с VC будет работать не пре всех настройках.
хоть и получается "масло масленное" но согласен. |