名称空间中特定符号的别名?
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;
我想使用具有简短语法的名称空间中的特定符号,但不求助于 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;