实现header file (.h)相应的source file (.cc/.cpp)文件时的注意事项

本帖慢慢扩充……


1. 假设是实现namespace Abc中的一个class,不要因为是在.cc中就肆无忌惮的在global scope或者namespace Abc{}中定义辅助变量和函数,或者typedef、using东西。因为这些东西虽然没有在相应的header file中声明,但是如果在用户代码中有意或无意的声明了它们,那用户代码就仍可以使用它们。正确的做法是把这些不准备在别的文件中使用的东西放在global scope下的匿名名字空间中,这样它们就是file local的了,其他文件无法对其声明和使用。

没有更多推荐了,返回首页