【C++】 为什么成熟代码尽量不要使用 using namespace std

using namespace std;

首先我们要知道,这句代码的意思是:打开std 的标准命名空间。
在std 标准空间里,包含了原来的库和头文件。但是在C++ 中因为要使用的STL中有部分名称是没有加下划线的保留标记的,而这些名称如果再用在自己的源代码中会引发未定义的后果。
所以当我们在写成熟的代码的时候,一般不建议将标准命名空间全部打开,而是需要用库里的什么就打开什么。这就有效的防止了命名冲突

完全打开std 命名空间

需包含< iostream>头文件,再用using namespace std; 打开即可。

#include <iostream>
using namespace std;        
int main()
{
	cout << "hello " << endl;      
	system("pause");
	return 0;
}
只打开std 部分空间

需包含< iostream>头文件,再用using std::(名称) 打开需要的函数即可。

#include<iostream>
using std::cout;
using std::endl;             // 1

void func()
{
	cout << "world " << endl;       //若不在1 处打开endl,则编译不通过
}

int main()
{
	func();
	system("pause");
	return 0;
}

博主目前的理解只能到这里啦,如果之后有更深的理解,我会更新的~
其他大佬若有其他意见,欢迎留言讨论。。

猜你喜欢

转载自blog.csdn.net/ly_6699/article/details/88649415
今日推荐