0

我想使用具有简短语法的命名空间中的特定符号,但不诉诸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是模板类实例化,又endl是模板函数实例化,所以可能别名的方法会有所不同。

4

1 回答 1

2

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

using std::endl;
using std::cout;
于 2021-03-08T18:16:14.703 回答