直接static X,那么X在程序退出过程中会析构,这个析构顺序不定,可能会出现问题。
lambda是为了保证初始化只运行一次。
unique_ptr此处只是“没有特殊情况不使用new”的代码风格。
【 在 DoorWay (DoorWay) 的大作中提到: 】
: 标 题: Re: 能定义初始化顺序吗
: 发信站: 水木社区 (Wed Dec 23 06:23:45 2020), 站内
:
: 你这写法好高级。
: lambda配make_unique是为了?直接写个静态变量 static X ;有何不妥?
: 【 在 here080 的大作中提到: 】
: : 是POD吗?定义成constexpr如果可以编译通过可能保证不会有顺序问题。
: : 不能定义成constexpr的类型一般来说要避免全局变量。
: : 实在不行可以用全局函数来代替。像下面的代码不仅可以保证X和Y都是安全的全局变量,还能保证X在Y之前被初始化好。
: : ...................
: --
:
: ※ 来源:·水木社区
http://m.newsmth.net·[FROM: 1.80.241.*]
--
FROM 76.126.252.*