C++ 有什么好的替代方案可以替代“报价单”呢;使用名称空间std&引用;?
我理解C++ 有什么好的替代方案可以替代“报价单”呢;使用名称空间std&引用;?,c++,namespaces,std,C++,Namespaces,Std,我理解使用名称空间std有问题(例如,阅读的答案) 除了像那样导入标准名称空间,还有什么好的替代方法 我想知道我能做些什么来改进我的代码。另一种方法是到处写std::。因为名字冲突和不清楚,人们不赞成它。如果你只是写向量,我不知道你是在用数学3d向量还是标准库向量或者其他什么。如果你写的是std::vector,它就清楚了。如果你使用namespace std,vector可能会与我自己的名为vector的3d数学类发生冲突,这是使用namespace std将std命名空间中的所有内容纳入全局
使用名称空间std代码>有问题(例如,阅读的答案)
除了像那样导入标准名称空间,还有什么好的替代方法
我想知道我能做些什么来改进我的代码。另一种方法是到处写std::
。因为名字冲突和不清楚,人们不赞成它。如果你只是写向量,我不知道你是在用数学3d向量还是标准库向量或者其他什么。如果你写的是std::vector
,它就清楚了。如果你使用namespace std
,vector
可能会与我自己的名为vector
的3d数学类发生冲突,这是使用namespace std将std
命名空间中的所有内容纳入全局命名空间的主要替代方法全局范围内的代码>包括:
只带上你需要的真实姓名。例如,只需使用std::vector将vector
引入代码>
使用名称时始终使用显式命名空间限定。例如std::vector v代码>(在标题中,这几乎总是您要做的唯一事情)
引入所有名称,但要缩小范围(就像只在函数内部)。例如void f(){使用名称空间std;vector v;}
-这不会污染全局名称空间
欢迎来到堆栈溢出!我已经对你的问题做了一个调整,把注意力集中在我找不到好答案的部分。这是一个相当激烈的编辑,但我认为它提出了一个可以重新打开和有用的问题。这不是唯一的选择。。