我发现我自己往往没有私有(private)类函数。如果可能的话,所有候选私有(private)类函数而不是我放入未命名的命名空间并将所有必要的信息作为函数参数传递。我没有一个合理的解释为什么我要这样做,但至少对我来说看起来更自然。因此,我需要在头文件中公开较少的内部细节。

您的意见是什么 - 这是正确的做法吗?

最佳答案

在我通常工作的半大型项目中(超过 200 万行代码),如果可以的话,我会禁止私有(private)类函数。原因是私有(private)类函数是私有(private)的,但它在头文件中是可见的。这意味着如果我以任何方式更改签名(或评论),有时我会得到一次完全重新编译的奖励,这需要花费几分钟(或几个小时,具体取决于项目)。

只需对此说不,并隐藏 cpp 文件中的私有(private)内容。

如果我要重新开始一个大型 c++ 项目,我会强制执行 PIMPL Idiom: http://c2.com/cgi/wiki?PimplIdiom 将更多的私有(private)细节移动到 cpp 文件中。

关于c++ - 私有(private)类函数与未命名命名空间中的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3471997/

10-15 05:47