我不喜欢using namespace std
,但我也厌倦了不得不在每个cout
、cin
、cerr
和endl
前面输入std::
。所以,我想给它们起一个更短的新名字,就像这样:
// STLWrapper.h
#include <iostream>
#include <string>
extern std::ostream& Cout;
extern std::ostream& Cerr;
extern std::istream& Cin;
extern std::string& Endl;
// STLWrapper.cpp
#include "STLWrapper.h"
std::ostream& Cout = std::cout;
std::ostream& Cerr = std::cerr;
std::istream& Cerr = std::cin;
std::string _EndlStr("\n");
std::string& Endl = _EndlStr;
这是可行的。但是,上面有没有什么我遗漏的问题呢?有没有更好的方法来实现同样的目标?
发布于 2010-05-21 12:26:28
好呀
using std::cin;
using std::cout;
诸若此类?然后,您可以在代码中使用cin
、cout
等,而不会意外地将所有std
名称空间的其余部分注入到代码中。
https://stackoverflow.com/questions/2879555
复制相似问题