随着 C 11 的引入,开发人员获得了一组用于初始化类的新语法选项,添加到现有的语法选项中大括号括起来的初始值设定项。过多的选择提出了一个令人费解的困境:何时使用每个语法选项?
提供的指南建议,如果意图是为对象分配精确的值,复制初始化(=)应该受到青睐。这是因为它最大限度地减少了无意中调用具有潜在不同语义的显式构造函数的风险。如果复制初始化不可用,则应考虑大括号初始化,并且应将括号初始化作为最后的手段。
当使用多个旨在初始化的值时,大括号初始化表现出色。存储在对象内。此语法特别适合向量、数组和复数。
当初始化期间提供的值描述对象的预期状态或行为而不是其实际数据时,应该使用括号初始化。这通常是参数指定大小或文件名的情况。
考虑以下代码片段:
1 2 3 4 5 6 |
|
1 2 3 4 |
|
遵循建议的指南,开发人员可以自信地应对 C 11 初始化语法的复杂性,确保他们的代码既准确又高效。
以上是如何选择正确的 C 11 初始化语法以及何时使用它们?的详细内容。更多信息请关注PHP中文网其他相关文章!