Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
casely
0 / 0 / 0
Регистрация: 21.01.2012
Сообщений: 4
1

объявление директив

21.01.2012, 11:29. Просмотров 394. Ответов 6
Метки нет (Все метки)

здравствуйте, что будет если два раза одинаково объявить директиву? Допустим
C++
1
2
3
#include <iostream>
#include "example.h" 
#include "example.h"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2012, 11:29
Ответы с готовыми решениями:

Директив процессора
Помогите дописать к этой проге нахождение суммы элементов матрицы. ...

Использование директив препроцессора
Составить программу, использующую директивы препроцессора: с помощью...

Массивы и директив препроцессора
Помогите доделать прогу. Эта прога выделяет два произвольных столбца в...

Подключение директив препроцессора
Не могу найти подходящую информацию=( Даны директивы : A) #include...

Назначение директив препроцессора: #ifndef, #define, #endif
Объясните, что обозначают эти директивы? Заем это использовать в классах? ...

6
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
21.01.2012, 11:37 2
Цитата Сообщение от casely Посмотреть сообщение
Допустим
Смотря что находится в example.h.
0
Байт
Эксперт C
18318 / 12029 / 2506
Регистрация: 24.12.2010
Сообщений: 24,293
21.01.2012, 11:51 3
Есть специальная техника, блокирующая возможные ошибки
C
1
2
3
4
#if !defined _EXAMPLE_H
#define _EXAMPLE_H
....
#endif
Если твой examle.h написан в этом общепринятом стиле, то все будет хорошо

Добавлено через 2 минуты
И главное, понимать, что тут просто файл вставляется на место #include "файл" и больше ничего.
1
casely
0 / 0 / 0
Регистрация: 21.01.2012
Сообщений: 4
21.01.2012, 12:04  [ТС] 4
Байт,
да написано именно в этом стиле, и программа работает. "Но почему она работает с двумя объявлениями?" - вот такой вопрос задали мне
0
Байт
Эксперт C
18318 / 12029 / 2506
Регистрация: 24.12.2010
Сообщений: 24,293
21.01.2012, 12:10 5
Цитата Сообщение от casely Посмотреть сообщение
Байт,
да написано именно в этом стиле, и программа работает. "Но почему она работает с двумя объявлениями?" - вот такой вопрос задали мне
При первом включении _EXAMPLE_H не определен и все до #endif благополучно вставляется в файл. А при втором _EXAMPLE_H уже определился, и весь тест до #endif пропускается
ЗЫ. Я не очень точно выразился. Файл не просто вставляется, а с учетом директив препроцессора.
2
Evg
Эксперт CАвтор FAQ
19288 / 7147 / 528
Регистрация: 30.03.2009
Сообщений: 19,997
Записей в блоге: 30
21.01.2012, 12:12 6
casely, объяснение на пальцах см. здесь Для чего нужен define?

Цитата Сообщение от casely Посмотреть сообщение
"Но почему она работает с двумя объявлениями?" - вот такой вопрос задали мне
Такой вопрос мог задать тлько идиот (только ты об этом ему не говори). Потому что это НЕ ОБЪЯВЛЕНИЕ
2
casely
0 / 0 / 0
Регистрация: 21.01.2012
Сообщений: 4
21.01.2012, 12:15  [ТС] 7
все идею понял )
0
21.01.2012, 12:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2012, 12:15

Где можно посмотреть функции подключаемых директив?
Здравствуйте. Где можно посмотреть функции подключаемых директив? Спасибо.

Объясните, в чем суть директив #ifndef/#define/#endif
Не понял в чем суть директив: #ifndef .. #define.. #endifОбъясните...

Вернуть значение типа int за счет директив препроцессора
основной текстовый документ. #include &quot;mystring.h&quot; #include &lt;iostream&gt; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru