2 Stimmen

Optimieren von Iterator-Definitionen

Dies ist eine (hoffentlich) wirklich einfache Frage - mir wurde kürzlich gesagt, dass die Verwendung von C++-Stil Initialisierung ist besser als traditionelle (und häufiger) Zuweisung.

Also dieser Code:

std::SomeSTLContainer::const_iterator it = container.begin();
std::SomeSTLContainer::const_iterator itEnd = container.end();

langsamer" oder weniger effizient als sein würde:

std::SomeSTLContainer::const_iterator it ( container.begin() );
std::SomeSTLContainer::const_iterator itEnd ( container.end() );

Ich verstehe den Grund dafür - das erste Beispiel führt zu einer Standardkonstruktion und -initialisierung mit anschließender Zuweisung und nicht zu einer spezifischen Konstruktion und direkten Zuweisung wie im zweiten Beispiel. Aber macht das auf modernen Prozessoren/Compilern wirklich einen Unterschied?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X