Форум программистов, компьютерный форум CyberForum.ru

Почему отказались от #ifndef? - C++

Восстановить пароль Регистрация
 
redbird
0 / 0 / 0
Регистрация: 23.02.2014
Сообщений: 9
23.02.2014, 18:52     Почему отказались от #ifndef? #1
Всем привет, Лафоре пишет, что от использовании директивы #ifndef стали отказываться в пользу #if !defined().
Может кто-нибудь объяснить почему?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2014, 18:52     Почему отказались от #ifndef?
Посмотрите здесь:

Объясните, в чем суть директив #ifndef/#define/#endif C++
Почему не взяли на обучение в CQG, на сайте нашел испытательное задание, сделал и отослал. Не взяли и не объяснили почему. Хочу услышать мнения. C++
Почему MS-DOS не любит кириллицу ? (Или почему она не любит меня ?) C++
C++ Как влияет inline и обертка(#ifndef #define #endif) .h файла на компоновщик.
Участок B кода выполняется позже, чем участок A кода, но почему-то B влияет на работоспособность A! Почему? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
redbird
0 / 0 / 0
Регистрация: 23.02.2014
Сообщений: 9
01.03.2014, 23:08  [ТС]     Почему отказались от #ifndef? #2
up.
DrOffset
6458 / 3832 / 885
Регистрация: 30.01.2014
Сообщений: 6,627
02.03.2014, 01:30     Почему отказались от #ifndef? #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от redbird Посмотреть сообщение
от использовании директивы #ifndef стали отказываться в пользу #if !defined().
Честно говоря не особо такое замечал. Одинаково попадается и то и это. Можно предположить, что !defined просто более декларативно.
Сложные условия можно писать проще:
C++
1
#if defined (A) && !defined (B)
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16828 / 5249 / 321
Регистрация: 30.03.2009
Сообщений: 14,136
Записей в блоге: 26
02.03.2014, 11:12     Почему отказались от #ifndef? #4
Цитата Сообщение от redbird Посмотреть сообщение
стали отказываться
Враньё
Убежденный
Системный программист
 Аватар для Убежденный
14209 / 6224 / 987
Регистрация: 02.05.2013
Сообщений: 10,368
Завершенные тесты: 1
02.03.2014, 13:19     Почему отказались от #ifndef? #5
Думаю, что визуально ifndef легче спутать с ifdef.
А вот у "if !defined" явно заметный восклицательный знак слева.
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
02.03.2014, 13:25     Почему отказались от #ifndef? #6
Я не отказывалась, в каждом хэдере пишу:
C++
#ifndef HEADER_H
#define HEADER_H
// ...
#endif
Yandex
Объявления
02.03.2014, 13:25     Почему отказались от #ifndef?
Ответ Создать тему
Опции темы

Текущее время: 05:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru