首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C++标准库:如何为cout、cerr、cin和endl编写包装器?

C++标准库:如何为cout、cerr、cin和endl编写包装器?
EN

Stack Overflow用户
提问于 2010-05-21 12:24:57
回答 1查看 6.4K关注 0票数 17

我不喜欢using namespace std,但我也厌倦了不得不在每个coutcincerrendl前面输入std::。所以,我想给它们起一个更短的新名字,就像这样:

代码语言:javascript
复制
// 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;

这是可行的。但是,上面有没有什么我遗漏的问题呢?有没有更好的方法来实现同样的目标?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-21 12:26:28

好呀

代码语言:javascript
复制
using std::cin;
using std::cout;

诸若此类?然后,您可以在代码中使用cincout等,而不会意外地将所有std名称空间的其余部分注入到代码中。

票数 59
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2879555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档