具有命名空间的内部函数是不好的代码

loading...


0

假设我有一个命名空间Util,它包含一些基本功能 . 但是在那个命名空间中我需要一个库的功能才能完成我的工作,但是我不希望头文件知道它,所以我最终创建了一个具有我需要但不想暴露的功能的匿名命名空间 . 有一个更好的方法吗 ?

举个例子:

# Util.h  
namespace Util{  int Add();  }

# Util.cpp
namespace Util{
 namespace {
  funkyInt Add_internal(int x, int y);
  int convert(funkyInt x);
 }

 int Add(int x, int y){
  return convert(Add_internal(x,y))
 }

 funkyInt Add_internal(int x, int y){
 //DOSomething
 }
}

loading...

1回答

  • 0

    那很好 .

    匿名命名空间是在您的命名空间中还是全局命名空间是品味和轻松 .

    • 品尝,因为代码可能完全相同

    • 易用,因为如果重用非匿名命名空间的其他函数,则不必使用前缀或使用命名空间 .

评论

暂时没有评论!