C++公共(public)API的最佳做法是什么?

我正在一个C++项目中,该项目具有多个命名空间,每个命名空间都有多个对象。一些对象具有相同的名称,但是位于不同的命名空间中。当前,每个对象都有其自己的.cpp文件和.h文件。我不确定该如何措辞...创建第二个.h文件以仅公开公共(public)API是否合适?它们应该是每个命名空间,每个对象还是其他范围的.h文件?为C++库创建公共(public)API的最佳实践是什么?

谢谢你的帮助,
钦兹

最佳答案

有时在每个.cpp和.h文件对中都有一个单独的类,并将 namespace 层次结构作为目录层次结构是很方便的。
例如,如果您有此类:

namespace stuff {
  namespace important {
    class SecretPassword
    {
       ...
    };
  }
}

那么它将在两个文件中:
/stuff/important/SecretPassword.cpp
/stuff/important/SecretPassword.h

另一种可能的布局可能是:
/src/stuff/important/SecretPassword.cpp
/include/stuff/important/SecretPassword.h

关于c++ - C++公共(public)API的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1698294/

10-10 12:32