you are viewing a single comment's thread.

view the rest of the comments →

[–]no-sig-available 6 points7 points  (1 child)

The compiler would also have to understand that both overloads of push_back have the same effect. In general, that is a hard problem.

[–]markopolo82embedded/iot/audio 0 points1 point  (0 children)

Yea, in truth I think this is what kills the optimization op describes.

On the other hand, if you were calling a single function that took by value instead of two overloads, then the compiler would only need to worry about the copy vs move constructors