gpt4 book ai didi

c++ - 用另一个初始化的静态变量

转载 作者:太空宇宙 更新时间:2023-11-04 15:35:04 25 4
gpt4 key购买 nike

我知道静态订单初始化失败,但我想知道以下是否也会触发它:

const static Point center = CalculateCenter();
static Point currentPoint = center;

我想要两个静态变量(TU 中的内部链接),一个已初始化且常量,另一个在大量实例之间共享,但首先它应该具有相同的值 中心.

这会触发静态订单初始化失败吗?如果是这样,我应该如何编码?

最佳答案

如果它们都在同一个编译单元中,那么就没问题(如果你对它们进行了正确的排序)。但如果不是,那么这是未定义的行为,因为初始化顺序。但是,您可以将 center 声明为 constexpr 而不是 const,然后 center 在编译时已知,这应该没问题,但是 CalculateCenter() 还需要是一个 constexpr,这在您的情况下可能是不可能的。

关于c++ - 用另一个初始化的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36229714/

25 4 0
文章推荐: javascript - lodash json组对象成本
文章推荐: css - 使用 CSS 将 float
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com