如果一个函数被这样声明:
namespace foo {
void bar();
}
大多数人这样定义函数:
void foo::bar() {
...
}
不过我喜欢这样做:
namespace foo {
void bar() {
...
}
}
我更喜欢这种风格,因为它使我不必总是重新输入 foo::,这对于接受在同一命名空间中声明的类型的函数参数来说通常很乏味。另外,重命名整个命名空间也更容易。
我想知道为什么我几乎从来没有在其他人的代码中看到我的风格,除了额外的缩进级别(而且你甚至不需要缩进命名空间)之外,它还有什么缺点吗?
如果您使用foo::bar
形式,并意外地定义了函数
参数不正确,您将收到编译器错误。如果你把
定义在源文件中的命名空间中,不同的参数将
只是导致定义不同的函数。你不会得到
错误,直到您尝试链接使用您的函数的代码(其中
对于 DLL 的情况,可能要到运行时才会出现)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)