c++ - 作为一般经验法则,我应该更喜欢直接列表初始化而不是复制初始化吗?
问题描述
是否建议在 C++ 20 中始终支持直接列表初始化而不是复制初始化,甚至直接初始化作为一般经验法则?作为一个老 C++98 程序员在 15 年后回到 C++,使用它auto i = 5
而不是auto i {5}
. 我想确保“新”方式真的是新的默认方式,然后再将新方式“烧入”到我的编码指南中。
解决方案
我想后现代 C++ 使您能够表达“意图”而不是“操作”。从这个意义上说 auto i {5}; 会说您允许编译器选择类型并且您只关心“i”被初始化,而不关心它是如何发生的?但是,如果您的意图是以某种特定方式进行初始化,那么您在某种意义上选择了“最好的”,那么请选择您认为最接近这种方式的初始化 :)
推荐阅读
- c++ - 如何为数组声明获取恒定大小的向量?
- forms - 将表单发布到外部 URL - 需要 HTTP 但始终使用 HTTPS-
- rust - 一个变量如果不显示就会消失 Rust
- salesforce - 获取重复的代理名称
- javascript - 是
- python - 带有 Request 模块的 Python POST 请求
- javascript - 如何让机器人忽略其他机器人造成的其他操作?
- kubernetes - Kubernetes 子域供应
- android - Don't work Get x and y pixel of touch in version 4.2.0 to high of Carto mobile SDK
- android - 迭代 JSON 数组并使用 Name 值来识别一个 TextView Android