[C++] 头文件中不要用using namespace std

时间:2024-12-10 16:06:20

先总结下:

1. using namespce std;尽量不要(或者强硬一点,不许)在头文件中使用。

解析: 不让这么用,主要原因就是防止名字重复(即自定义变量名和std中名字重复),因为头文件会被很多地方使用,你不知道这个using能覆盖多大范围。

2. 头文件最好不用,但在cpp文件中可以使用(但有比这更好的方法,之后说),但是,有个条件,必须用在所有#include之后。

解析:如果在cpp文件中使用using namespace std; 而且,若放在#include之前,那相当于用在头文件中了,你不知道头文件展开后,这个using覆盖多大的范围。所以,必须用在所有#include之后。

3.  在头文件和cpp文件中,可以使用using命令(如 using std::cout;) 来替代 using编译命令(using namespace std;)。

举例说明:

using namespace std; // 不要这样做

而应这样做

int y;
std::cin >> y ;
std::cout << y << std::endl;

或者这样做

using std::cout;
using std::cin;
int y;
cin >> y;
cout << y;

4. 当然,还有人想把using namespace std;放在自定义的命名空间中,你可以去试试。

--------------------- 
作者:c+ 
原文:https://blog.****.net/qnavy123/article/details/79914339
版权声明:本文为博主原创文章,转载请附上博文链接!