gpt4 book ai didi

c++ - 我可以创建一个 std::set 的 constexpr 对象吗?

转载 作者:行者123 更新时间:2023-11-30 01:33:26 25 4
gpt4 key购买 nike

我需要一个 std::set 的 const 对象,它将在许多其他 cpp 文件中使用。由于应用程序每个部分的初始化顺序未定义,因此当我使用此 std::set obj 初始化其他 const 对象时,我可能会得到一个空集。

因此,我想将此 std::set 设为 constexpr,但无法编译。我想要:

constexpr std::set<int> EARLIER_SET = { 1, 2, 3 };

有办法得到吗?还是根本没有?

最佳答案

您不能在此处使用 constexpr,因为 std::set 没有 constexpr 构造函数。

但您可以做的是将变量声明为 inline const 变量,这将允许您将它包含在每个翻译单元中并提供初始化程序。看起来像

//header file
inline const std::set<int> EARLIER_SET = { 1, 2, 3 };

关于c++ - 我可以创建一个 std::set 的 constexpr 对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58507333/

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