首页 > 解决方案 > 作为一般经验法则,我应该更喜欢直接列表初始化而不是复制初始化吗?

问题描述

是否建议在 C++ 20 中始终支持直接列表初始化而不是复制初始化,甚至直接初始化作为一般经验法则?作为一个老 C++98 程序员在 15 年后回到 C++,使用它auto i = 5而不是auto i {5}. 我想确保“新”方式真的是新的默认方式,然后再将新方式“烧入”到我的编码指南中。

标签: c++c++20

解决方案


我想后现代 C++ 使您能够表达“意图”而不是“操作”。从这个意义上说 auto i {5}; 会说您允许编译器选择类型并且您只关心“i”被初始化,而不关心它是如何发生的?但是,如果您的意图是以某种特定方式进行初始化,那么您在某种意义上选择了“最好的”,那么请选择您认为最接近这种方式的初始化 :)


推荐阅读