gpt4 book ai didi

c++ - 是否应该在头文件中使用 C++ namespace 别名?

转载 作者:可可西里 更新时间:2023-11-01 15:20:11 25 4
gpt4 key购买 nike

considered bad practice在 C++ header 中使用 using namespace。使用 namespace aliasing 同样是个坏主意吗?在 header 中,每个实现文件都应该声明它希望使用的别名?

由于 header 是您倾向于使用完全指定名称的地方(因为我们不在 header 中使用命名空间),别名会很有用,但当 #included 时它们仍会通过您的源传播。

此处的最佳做法是什么?什么是命名空间别名的范围?

最佳答案

如果您将命名空间别名放入 header 中,此别名将成为您(公共(public))API 的一部分。

有时,这种技术用于进行 ABI 兼容的版本控制(或至少使破损可见),如下所示:

namespace lib_v1 { ... }
namespace lib_v2 { ... }
namespace lib = lib_v2;

或更常见:

namespace lib {
namespace v1 {}
namespace v2 {}
using namespace v2;
}

另一方面,如果您这样做只是为了节省一些输入,那可能不是一个好主意。(仍然比使用 using 指令要好得多)

关于c++ - 是否应该在头文件中使用 C++ namespace 别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573063/

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