不止一位学长讲述过一些选手因为"next""pipe"而暴毙的英雄事迹。。。
那么Linux下如何防止命名冲突?
或者仅仅是因为懒得想变量名
听过学长的指导后,本文全程口糊,有不恰当处还请指出
C++中有了命名空间这个东西,不同命名空间的元素可以同名
你平时写的using namespace std;
就是代替了每次调用时的std::
,相当于把std作为此程序的命名空间
我们可以创建自己的命名空间
1 | namespace NAME {// NAME可以是你自己取的名字 |
里面的程序正常写就行
不过C++的运行端口是::main,所以main函数写在namespace里会找不到端口,无法运行
只把main写在外面?这辈子都不会的
为了程序的优美性,可以namespace里写一个main,外面调用即可
1 | namespace BANANA { |
这样的话写一大堆函数和全局变量的时候,main函数依然优美
总之自己看着舒服就行
另外,namespace是可以嵌套的,并且优先级是本层namespace > 外层namespace
调用时本层找不到就会从上一层找
于是我们照样写using namespace std
,不受影响,太棒了不用写烦人的std
1 |
|
好了你还怕什么?
不过学长实测,如果你起linux,unix的变量名,还是会翻车,他们太硬了
不过你可以随心所欲地打万能头了。。。
1 |
|
祝大家敲代码愉快~