C+标准库:如何为cout、cerr、CIN和Endl编写包装器?

C+标准库:如何为cout、cerr、CIN和Endl编写包装器?

我不喜欢using namespace std,但我也厌倦了不得不打字std::在每个人面前cout, cin, cerr和endl..所以,我想给他们取更短的新名字,就像这样:


// 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;

这个很管用。但是,有什么问题在上面,我错过了吗?是否有更好的方法来实现同样的目标?


万千封印
浏览 464回答 3
3回答

慕侠2389804

好呀using&nbsp;std::cin;using&nbsp;std::cout;诸若此类?然后在您的代码中可以使用cin,&nbsp;cout,以此类推,而不会意外地注入其余的std命名空间到代码中。
打开App,查看更多内容
随时随地看视频慕课网APP