我整天都在阅读关于无名命名空间的文章,大多数文章都解释了何时应该使用无名命名空间而不是static关键字。但是我仍然有一个重要问题:什么情况下使用静态关键字比较合适?毕竟它并没有完全被弃用,那么对于具有静态函数的头文件,现在是应该将它们放入无名命名空间中吗?
#ifndef HEADER_H
#define HEADER_H
static int func() {
...
}
// versus:
namespace {
int func() {
...
}
};
#endif // HEADER_H
或者考虑静态成员函数呢?
问候