请问一个C++using的问题

比如我要使用函数cout可以usingnamespacestd;也可以usingstd::cout;但是,我看过,两个声明文件体积不变,除了一个是单独声明一个是集体声明以... 比如我要使用函数cout 可以using namespace std;也可以 using std::cout;但是,我看过, 两个声明文件体积不变, 除了一个是单独声明 一个是 集体声明以外 到底有什么区别, 既然 可以一次全部声明 为什么还会有这种单独声明呢? 展开
 我来答
porker2008
推荐于2016-06-07 · TA获得超过1.4万个赞
知道大有可为答主
回答量:7066
采纳率:62%
帮助的人:1.1亿
展开全部

用using namespace std的话,整个std里面的东西都会被带到全局里面,这样就把全局的变量名都污染了


用哪个就声明哪个的话就可以避免名空间污染

#include <iostream>
#include <fstream>
using namespace std;

std::ifstream cin;

int main() {
cin.open("test.txt"); // cin 不明确,编译错误
}


#include <iostream>
#include <fstream>
using std::cout;

std::ifstream cin;

int main() {
int i;
cin.open("test.txt"); // 这里指代的是std::ifstream cin
cin >> i; // std::ifstream cin
std::cin >> i; // stdin 
}
追问
这么说的话, 用 如果只是少数地方需要输出和输入的话, 最好的方法, 是std::cout> 这样调用么?
追答
using std::cout;
using std::cin;

像上面这样声明一下就可以了,要是使用地方不多的话,直接使用

std::cout <<
std::cin >> 
std::endl

也可以

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式