c++ - 命名空间中特定符号的别名?

标签 c++ namespaces

我想使用具有简短语法的命名空间中的特定符号,但不诉诸 using namespace <xyz>;因为这会将所有符号引入当前范围。例如,这个想法(不编译)将是这样的:

#include <iostream>
using cout = std::cout;
using endl = std::endl;
cout << "this is a test" << endl;
这能做到吗?这似乎微不足道,但我找不到一个例子。另一种选择是 #define cout std::cout ,但我想避免这种情况,因为它必须是 #undef 'ed。允许所有 C++ 版本。
另外,cout是模板类实例化和endl是一个模板函数实例化,所以也许别名的方法会有所不同。

最佳答案

是的,有一种可能性,你可以简单地写:

using std::endl;
using std::cout;

关于c++ - 命名空间中特定符号的别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66534983/

相关文章:

c# - 找不到类型或命名空间名称 'UI'。 c#Unity3d

c# - 找不到类型或命名空间 "Android"

c++ - Clion 体系结构 x86_64 的 undefined symbol

c++ - 未定义的引用问题

c++ - "Return value optimization"会导致未定义的行为吗?

c# - 如何使用 C# 选择带有 XML 命名空间的 XML 节点

c++ - 如何在没有容器的情况下在迭代器中创建运算符->?

c++ - 初始化 SDL_Mixer 给出错误 "No available audio device"

php - Symfony 2 命名空间错误仅在生产中出现(“尝试加载类...)

c++ - 使用可选的 'struct' 关键字时出现 g++ 警告