原语的直接初始化与复制初始化

Pet*_*etr 5 c++ primitive initialization variable-assignment

当初始化诸如int或 指针之类的基本类型时,可以使用复制初始化直接初始化

int a = 10;
int b(10);
Run Code Online (Sandbox Code Playgroud)

尽管后一种方式更适合具有构造函数的对象,但我没有看到人们将它用于基元。我知道使用“=”运算符有点“更自然”(尤其是对于数字),但是有人在现实生活中编写类似代码的东西吗:

for (int i(0); i < 5; ++i) {
    cout << i << endl;
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

编辑:问题询问的是编码风格和最佳实践,而不是技术实现。

Bo *_*son 2

有些人这样做是为了保持一致。

在模板内,代码可以是

for (T i(0); i < 5; ++i) {
    cout << i << endl;
}
Run Code Online (Sandbox Code Playgroud)

并且在任何地方都这样编写将使编码风格保持一致。