我想使用具有短语法的命名空间中的特定符号,但不诉诸于将using namespace <xyz>;
所有符号引入当前范围。例如,这个想法(无法编译)将是这样的:
#include <iostream>
using cout = std::cout;
using endl = std::endl;
cout << "this is a test" << endl;
Run Code Online (Sandbox Code Playgroud)
这可以做到吗?这看起来微不足道,但我找不到例子。另一种选择是#define cout std::cout
,但我想避免这种情况,因为它需要进行#undef
'ed 。允许所有 C++ 版本。
另外,cout
是模板类实例化,endl
是模板函数实例化,因此别名的方法可能会有所不同。