|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.05.2015, 16:16 | #31 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
вот намудрил один способ применения namespace из вышесказанных замечаний.
что Вы думаете по этому поводу ? в файле sasa1.cpp есть такой код Код:
в файле 66.cpp есть такой код Код:
как я понял переменная x файла sasa1.cpp в блоке namespace доступна лишь только в этом файле ? так ли это ? или опять туплю ? заранее спасибо !!! Stilet не наю почему не открывает. может не ту ссылку открываю. Последний раз редактировалось RAFA91; 10.05.2015 в 16:19. |
10.05.2015, 18:17 | #32 | |
crafter
Форумчанин
Регистрация: 03.09.2011
Сообщений: 127
|
RAFA91,
Цитата:
Пример применения: допустим у вас есть файл common.hpp, в котором есть объявлены глобаный объект и функция, также у вас есть несколько файлов .cpp, в которых вы хотите использовать этот самый глобальный объект или функцию; вы включаете в оба файла ваш common.hpp и используете то что нужно, но при сборке программы, вы получите ошибку: multiplе definition, т.к. вы включили один и тот же заголовок в разные файлы. Чтобы решить эту проблему вы можете предварить определение объекта и функции спецификатором static или заключить оба в nameless namespace. Последний раз редактировалось halcyon; 10.05.2015 в 18:20. |
|
11.05.2015, 12:05 | #33 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
halcyon переменные и функции со static тоже видны в пределах одного файла ?
|
13.05.2015, 21:02 | #34 | |
crafter
Форумчанин
Регистрация: 03.09.2011
Сообщений: 127
|
Цитата:
Код:
Код:
Но если, static object определен в .h файле, то при включении в разные .cpp, в разных .cpp он будет иметь разные адреса. |
|
14.05.2015, 12:26 | #35 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
|
14.05.2015, 12:42 | #36 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
а вы другие знаете?
|
15.05.2015, 12:09 | #37 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
а чем же тогда отличие статич. перем. от глобальных ?
|
15.05.2015, 12:23 | #38 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
глобальные переменные доступны из любой единицы трансляции, а статичные только из той, где они определены.
Може пора уже учебник прочесть? |
15.05.2015, 12:56 | #39 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
увы там все в краце.
|
16.05.2015, 17:52 | #40 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
тему не читал.
безымянные пространства имен используют в cpp файлах, с целью сделать недоступным их содержимое за пределами данного cpp. если просто определить в cpp файле переменную или функцию, то к ним можно будет получить доступ снаружи. но если определить их в безымянном спейсе, то это станет невозможным. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка пространства имен | Dimka-novitsek | Общие вопросы C/C++ | 1 | 06.02.2014 14:59 |
Пространства имен С++ | Jumb0 | Помощь студентам | 1 | 10.03.2013 19:49 |
Не удалось найти имя типа или пространства имен "IBM" | Stilet | Общие вопросы .NET | 6 | 20.05.2012 13:23 |
Объявление пространства имен | T@Rak0t | Общие вопросы C/C++ | 5 | 21.09.2010 09:58 |
проблема с подключением пространства имен | whiskaz | Помощь студентам | 2 | 24.03.2010 22:40 |