例如:
// Example.h
namespace MyExample
{
class Example
{
void Print() const;
};
}
这样做的区别是什么:
// Example.cpp
namespace MyExample
{
Example::Print() const
{
...
}
}
这样做:
// Example.cpp
MyExample::Example::Print() const
{
...
}
两者的优点/缺点是什么?
答案 0 :(得分:2)
编译器没有区别。
但是,您会注意到某些IDE在生成代码时会更喜欢第二种解决方案(例如Eclipse CDT):
答案 1 :(得分:1)
两者在技术上都是一样的。但是,如果要在文件中定义该命名空间的许多功能,而不是使用命名空间名称限定每个功能,那么如果您不特别喜欢破解指关节,则可以执行前者以避免额外输入。
当然,后一种形式对某些人来说具有更好的可读性,而且是主观的。