【发布时间】:2009-02-09 10:24:46
【问题描述】:
这是一个(希望如此)非常简单的问题 - 最近有人告诉我,使用 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() );
我理解这样做的原因 - 第一个示例导致默认构造和初始化,然后是后续分配,而不是第二个示例中的特定构造和直接分配。然而,在现代处理器/编译器上,它真的有什么不同吗?
【问题讨论】:
标签: c++ optimization stl iterator