这些对class的具体要求,本质上是为了template programming的时候兼容{}和(),因为某个类可能需要使用{},或者需要使用(),采用传统的if constexpr type_traits太丑陋,所以在编译器层面把调用{}或者()语法化
但是{}的本质,是ctor的direct placement
对于很多会被高频构造的数据struct,{}和构造函数能相差一个数量级的速度
【 在 finlab 的大作中提到: 】
: 这个说法不太准确。
: 对于没有定义构造函数的pod类型,是你说的这样。
: 对于定义了构造函数的类型,编译器要找匹配的构造函数。
: ...................
--
FROM 115.205.236.*