将括号更改为花括号似乎会在我的程序中产生完全相同的行为,即使在语义上它们似乎是完全不同的野兽。是否有理由(内存使用、性能等)更喜欢一个?
double pie = 3.14159;
myVal = int(pie); // type conversion using operator()
myVal = int{pie}; // uniform initialization syntax
[编辑]
我的实际代码与上面的示例有点不同,也许这解释了缩小问题:
int32_t result;
myVal = uint16_t(result); // myVal is between 0 and 65535
myVal = uint16_t{result}; // myVal is between 0 and 65535