名称空间中特定符号的别名?

Alias for a specific symbol within a namespace?

我想使用具有简短语法的名称空间中的特定符号,但不求助于 using namespace <xyz>;,因为这会将所有符号引入当前范围。例如,想法(无法编译)类似于:

#include <iostream>
using cout = std::cout;
using endl = std::endl;
cout << "this is a test" << endl;

这能做到吗?这看起来微不足道,但我找不到例子。另一种方法是 #define cout std::cout,但我想避免这种情况,因为它需要 #undef。允许所有 C++ 版本。

另外,cout是一个模板class实例化,endl是一个模板函数实例化,所以别名的方法可能会有所不同。

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

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