[英]using namespace in c++
我开始理解为什么using namespace std;
在 c++ 中被认为是不好的做法,但让我们考虑例如 2 个(假设的)库 "std" 和 "sfd" ,它们都包含一个函数 "run()"。
以下是可以的还是仍然有问题:
(如果我想从“std”调用“run()”)
using namespace std;
using namespace sfd;
int main(){
std::run();
}
(如果我想从“sfd”调用“run()”)
using namespace std;
using namespace sfd;
int main(){
sfd::run();
}
使用using namespace whatever;
的主要目的是using namespace whatever;
是为了避免每次想要访问其成员之一时都键入该名称空间的名称(如std
和sfd
)(出于节省时间和使代码看起来更简洁等原因)。 不过,您的解决方案没有问题。 有用。
但同样,为什么要使用using namespace std;
如果您最终要将std::
添加到需要它的任何函数,请放在源文件的顶部?
你也可以using namespace std;
在(函数、循环等)范围内,这样它就不会污染该特定源文件的整个命名空间。
没有问题,因为您在函数调用中使用了限定名称。
如果您在其调用中使用不合格的函数名称,则程序将是格式错误的,例如
run();
在这种情况下,会有歧义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.