3

有时我的文件看起来是这样的:

using std::cout;
using std::endl;
using std::string;
using std::vector;
using std::size_type;

是否有可能以某种方式避免每次都写公共部分?像这样的东西:

USING(std, cout, endl, string, vector, size_type);

我在考虑一个 var-arg 宏,但不知道是否可以迭代那些 var args ..

4

2 回答 2

7

您可以在需要的namespace地方使用代码std::coutstd::endl...std::

例子:

#include <iostream>

namespace my {
  using std::cout;
  using std::endl;
}

int main() {
  using namespace my;
  cout << "hello" << endl;
}
于 2013-08-22T12:06:11.217 回答
0

不幸的是,没有办法用宏做你想做的事:(充其量你可能可以通过以下方式“减少”你的工作:

USESTD(a) using std::a;

但是......不确定它是否值得,从我的角度来看,Chirs 的观​​点非常好:) - 我也喜欢看看事情是从哪里来的!

于 2013-08-22T11:59:08.690 回答