这是一个(希望如此)非常简单的问题——最近有人告诉我,使用 C++ 风格的初始化比传统的(更常见的)赋值要好。
所以这段代码:
std::SomeSTLContainer::const_iterator it = container.begin();
std::SomeSTLContainer::const_iterator itEnd = container.end();
将比以下“慢”或效率低:
std::SomeSTLContainer::const_iterator it ( container.begin() );
std::SomeSTLContainer::const_iterator itEnd ( container.end() );
我理解这样做的原因 - 第一个示例导致默认构造和初始化,然后是后续分配,而不是第二个示例中的特定构造和直接分配。但是,在现代处理器/编译器上,它真的有什么不同吗?