2017-08-24 71 views
1

我是C++的新手,我想知道什么更好/更清洁?在命名空间内部或外部实现C++函数?

  1. 在命名空间
  2. 使用完全合格的名称的功能实现,以实现它

如:

//foo.h 
namespace foo 
{ 
    void bar(); 
} 

1)

//foo.cpp 
namespace foo 
{ 
    void bar() 
    { 
     //do something 
    } 
} 

或2 )

//foo.cpp 
void foo::bar() 
{ 
    //do something 
} 
+1

没关系,用你觉得比较方便的。 – user0042

+1

2,“foo”不是'namespace'而不是'class'。与1,你有额外的块,所以通常额外的缩进。 – Jarod42

回答

2

第一个选项更适合将相同名称空间的几个函数分组并组合在一起,如果您有多个函数,则更清晰且不太冗长。

第二个语义相同,但如果在同一个命名空间中有许多函数,那么它就不太好看。

2

没有什么区别什么都没有生成的编译代码。这完全是一个风格问题。

使用你最喜欢的东西(或者当前使用的代码库的风格)。

相关问题