【发布时间】:2020-06-22 22:14:21
【问题描述】:
如果有人能启发我,我有一个关于命名空间的问题:D
不知道标题对不对,希望如此xD
“.cpp”文件中的代码称为命名空间的实现,“.h”文件中的代码称为命名空间声明?对? :/
无论如何,我的问题是:
命名空间成员的显式或隐式实现有什么区别(在“.cpp”文件中)?
我的意思是,假设我在“MyNamespace.h”中有这个命名空间:
namespace MyNamespace {
void fun_one(int a);
void fun_two(int b);
}
如果在“MyNamespace.cpp”中执行此操作(隐式实现),则有任何区别:
namespace MyNamespace {
void fun_one(int a){
// CODE HERE...
}
void fun_two(int b){
// CODE HERE...
}
}
或this(显式实现):
void MyNamespace::fun_one(int a){
// CODE HERE...
}
void MyNamespace::fun_two(int b){
// CODE HERE...
}
?
非常感谢你:D
祝你有美好的一天和美好的编码! (:
【问题讨论】:
-
这可能是见仁见智。 IMO,最好使用第一种方法。它避免了不必要的命名空间名称的重复输入。
标签: c++ namespaces explicit-implementation