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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
#1

Обернуть весь проект в одно пространство имен - C++

19.06.2013, 15:11. Просмотров 491. Ответов 11
Метки нет (Все метки)

Хотелось быть не писать в каждом новом файле namespace myNamespace, но при этом иметь один namespace для всех файлов, чтобы не было конфликта имен в классами, что хранятся в windows.h (не std). Как?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2013, 15:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обернуть весь проект в одно пространство имен (C++):

Пространство имен - C++
Подскажите, пожалуйста. Если я создам своё пространство имен и в нем создам функцию, например, abc() и при использовании в main() using...

Пространство имен - C++
Я часто встречаю в книгах, туторах, что объявлять пространство имен в больших проектах нельзя(не рекомендуемо), но нигде не сказано...

Пространство имен - C++
Зачем пространство имен в программировании я чет не понимаю? У мну в учебнике отак написано. Пространство имен, локализуя видимость...

Пространство имен - C++
Как составить код, когда необходимо использовать классы и методы из разных пространств имен. К примеру используется cout из std и...

пространство имен - C++
Один практикующий программист сказал мне, что пространство именusing namespace std; нежелательно объявлять в начале программы, а лучше...

Пространство имен - C++
Здравствуйте, имеется код : triangle.h #ifndef TRIANGLE_H_INCLUDED #define TRIANGLE_H_INCLUDED namespace TRG { struct...

11
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,019
19.06.2013, 15:42 #2
А если просто не писать using namespace std; ?
0
0x10
2465 / 1637 / 241
Регистрация: 24.11.2012
Сообщений: 4,040
19.06.2013, 15:46 #3
Цитата Сообщение от nexen Посмотреть сообщение
Хотелось быть не писать в каждом новом файле namespace myNamespace
А придется.
1
XRuZzz
Антикодер
680 / 582 / 29
Регистрация: 15.09.2012
Сообщений: 2,525
19.06.2013, 16:17 #4
Цитата Сообщение от nexen Посмотреть сообщение
Хотелось быть не писать в каждом новом файле namespace myNamespace, но при этом иметь один namespace для всех файлов, чтобы не было конфликта имен в классами, что хранятся в windows.h (не std). Как?
при этом смысл namespace теряется
0
0x10
2465 / 1637 / 241
Регистрация: 24.11.2012
Сообщений: 4,040
19.06.2013, 16:20 #5
Цитата Сообщение от XRuZzz Посмотреть сообщение
при этом смысл namespace теряется
С чего вдруг?
0
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
19.06.2013, 16:26 #6
nexen, можете написать свой namespace и включите в него все нужные вам namespace's или просто отдельные классы/объекты при помощи директивы using, но при этом отсутствие конфликта имён не гарантировано.
0
XRuZzz
Антикодер
680 / 582 / 29
Регистрация: 15.09.2012
Сообщений: 2,525
19.06.2013, 16:54 #7
Цитата Сообщение от 0x10 Посмотреть сообщение
С чего вдруг?

Не по теме:

хоспади исуси


хорошо перефразирую: эффективность namespace-ов снижается.
0
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
19.06.2013, 17:27  [ТС] #8
Такое ощущение, что меня не поняли. В windows.h нет std, соответственно названия классов, что есть там идут в конфликт с тем, что есть у меня. windows.h нужен мне в каждом файле, посему хотелось бы абсолютно весь код завернуть в свой namespace, как это сделано, допустим, в java. Там свой package.
0
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
19.06.2013, 18:18 #9
C++
1
2
3
4
namespace my_namespace
{
#include "windows.h";
}
Добавлено через 43 минуты
только точку с запятой в конец писать не нужно
1
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
19.06.2013, 19:31  [ТС] #10
xtorne21st, даже если так, то всё равно придется подобным заниматься в каждом файле?
0
0x10
19.06.2013, 19:40
  #11

Не по теме:

Сколько файлов в проекте, что Вы боитесь потратить... 10 минут? полчаса?

0
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
19.06.2013, 20:13 #12
nexen, Если хотите изменить текущий проект - то придётся. А если пишите новый, то создаёте свой хедер со своим пространством имён и подключаете в него все необходимые вам заголовки один раз. Иначе, наверное, никак.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2013, 20:13
Привет! Вот еще темы с ответами:

пространство имен - C++
Здравствуйте! У меня вопрос...В си есть такая функция printf, которая аналогична функции С++ cout. Почему, когда нам необходимо...

Класс и пространство имен - C++
Есть стэк, а он использует структуру как базовую единицу. Куда определить описание этой структуры - в пространство имен, а его включить в...

Пространство имен std - C++
Какой стиль лучше ? using std::cout; using std::endl; or using namespace std;

Пространство имен std - C++
В книге Дейтела (как, и в других источниках) написано, что можно написать using namespace std, а можно указывать std:: перед функциями. Но...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
19.06.2013, 20:13
Ответ Создать тему
Опции темы

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