请问一个C++using的问题
比如我要使用函数cout可以usingnamespacestd;也可以usingstd::cout;但是,我看过,两个声明文件体积不变,除了一个是单独声明一个是集体声明以...
比如我要使用函数cout 可以using namespace std;也可以 using std::cout;但是,我看过, 两个声明文件体积不变, 除了一个是单独声明 一个是 集体声明以外 到底有什么区别, 既然 可以一次全部声明 为什么还会有这种单独声明呢?
展开
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
也可以
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询