明白了一些关于命名空间(using space)的小东西

之前我一直纠结

#include 
cin>>
cout<<


#include
using spacename std;
cin>>
cout<<


#include
std::cin<<
std::cout>>


这三者的区别和利弊。

第一个,C++标准已经明确提出不支持了。我应该忘了它。

第二个,是一些《C++ primer》之外的书上看到的,但是很多人都不提倡使用,虽然很省事。原因有很多,我也不是很懂。
大概就是不想造成不必要的命名污染和冲突,以及太过远离项目树的根。还有就是直接把整个空间的东西全部引入,虽然这样很省事,
但是如果自己有同名的,很容易冲突;其次就是感觉,直接把整个空间的东西全部引入,会不会太浪费资源,没必要为了一棵树,去砍伐整片深林。

第三个,就是《c++primer》中的风格。我仔细思考了一下,应该学习。
std::cin>>
既体现了c++的命名空间特性, 又省了一行,而且随时提醒具体是哪个函数。虽然写起来有点麻烦,但是对阅读应该是有好处的。


后来我又看到了
#include
using std::cin;
int main()
{
       cin>>" ";
}

这样看起来更简便安全啊。

你可能感兴趣的:(C++)