你更喜欢显式命名空间还是 C++ 中的“使用"?

2022-01-14 00:00:00 namespaces using c++

在使用 C++ 命名空间时,您是否更喜欢显式命名它们,如下所示:

When using C++ namespaces, do you prefer to explicitly name them, like this:

std::cout << "Hello, world!
";

或者你更喜欢使用命名空间:

using namespace std;
cout << "Hello, world!
";

如果你更喜欢后者,你是在文件范围还是函数范围声明你的使用?

And if if you prefer the latter, do you declare your usings at file or function scope?

就我个人而言,我更喜欢明确地命名它们――它的类型更多,但是当使用混合命名空间(例如 stdboost)时,我发现它更具可读性.

Personally I prefer to explicitly name them - it's more typing but when using a mixture of namespaces (e.g. std and boost) I find it more readable.

推荐答案

我总是使用 using namespace for std &促进.其他一切我都倾向于使用显式命名空间,除非它使用得太多以至于会弄乱代码.

I always use using namespace for std & boost. Everything else I tend to use an explicit namespace unless it is used so much that it would clutter up the code.

在标头中,我从不使用 using namespace 以避免污染#include 源的全局命名空间.

In headers, I never use using namespace to avoid polluting the global namespace of the #including source.

相关文章