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

как сократить название пространства имен namespace не убирая полностью ? - C++

Войти
Регистрация
Восстановить пароль
 
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
08.01.2014, 21:07     как сократить название пространства имен namespace не убирая полностью ? #1
Существует ли какой-нибудь способ сократить путь во вложенном пространстве имен путем замены на другое более короткое название, но полностью не убирая? Как вариант через
C++
1
#define
но меня такой способ немного смущает например
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
#define D A::B::C
 
int var;
 
namespace A {
    namespace B {
        namespace C {
            int var;
        }
    }
}
 
int main(){
    var=1;
    D::var=2;
 
    std::cout << var << " " << D::var;
    return 0;
}
как сделать, чтобы можно было обращаться к пространству имен C не через A::B::C, а просто через D:: не используя #define ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 21:07     как сократить название пространства имен namespace не убирая полностью ?
Посмотрите здесь:

Пространства имен и перегрузка функций C++
Пространства имен в Эклипс C++
C++ Использование пространства имен
C++ Использование пространства имен
C++ Столкнулся с ошибкой пространства имен
Область видимости, пространства имен C++
Отличия пространства имен от структуры C++
C++ Квалификация имен из namespace
C++ Как избавиться от явного указания пространства имен
Создание пространства имен C++
C++ Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные?
C++ Как получить доступ к именам пространства имен из другого файла

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1478 / 1054 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
08.01.2014, 21:17     как сократить название пространства имен namespace не убирая полностью ? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
 
int var;
 
namespace A
{
  namespace B
  {
    namespace C
    {
      int var;
    }
  }
}
 
using namespace A::B;   // using
namespace CC = A::B::C; // alias
 
int main()
{
  var = 1;
  std::cout << "var = " << var << std::endl;
 
  C::var = 2;
  std::cout << "C::var = " << C::var << std::endl;
  std::cout << "CC::var = " << CC::var << std::endl;
 
  CC::var = 3;
  std::cout << "C::var = " << C::var << std::endl;
  std::cout << "CC::var = " << CC::var << std::endl;
 
 
  return 0;
}
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
08.01.2014, 21:19  [ТС]     как сократить название пространства имен namespace не убирая полностью ? #3
Спасибо. Это то, что нужно.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
08.01.2014, 21:24     как сократить название пространства имен namespace не убирая полностью ? #4
TrueBit, как написал DU, для этого существует namespace CC = A::B::C; создает псевдоним для пространства имен.
Yandex
Объявления
08.01.2014, 21:24     как сократить название пространства имен namespace не убирая полностью ?
Ответ Создать тему
Опции темы

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