gpt4 book ai didi

c++ - 污染全局命名空间

转载 作者:太空狗 更新时间:2023-10-29 23:24:33 26 4
gpt4 key购买 nike

我想这里的大多数 C++ 程序员都会同意污染全局命名空间是个坏主意,但有时可以忽略此规则吗?

例如,我有一个类型需要在整个特定应用程序中使用 - 我应该这样定义它吗:

mytypes.h

typedef int MY_TYPE;

foo.cpp

MY_TYPE myType;

或者使用命名空间:

mytypes.h

namespace ns {
typedef int MY_TYPE;
}

foo.cpp

ns::MY_TYPE myType;
...
using namespace ns;
MY_TYPE myType;

你更喜欢哪个?是否有时可以使用第一种方法?

最佳答案

您可以在单独的命名空间中定义您的类型,并使用

using ns::MY_TYPE;

关于c++ - 污染全局命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/267908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com