有时有人声称c++ 11/14可以让你在编译c++ 98代码时获得性能提升。这种解释通常遵循move语义,因为在某些情况下,右值构造函数是自动生成的,或者现在是STL的一部分。现在我想知道这些情况之前是否已经由RVO或类似的编译器优化处理。
我的问题是,你能否给我一个c++ 98代码的实际示例,在不进行修改的情况下,使用支持新语言特性的编译器可以更快地运行。我确实理解,一个符合标准的编译器不需要做复制省略,只是因为这个原因,移动语义可能会带来速度,但我希望看到一个不那么病态的情况,如果你会。
编辑:只是为了澄清,我并不是在问新的编译器是否比旧的编译器更快,而是如果有代码可以将-std=c++14添加到我的编译器标志中,它会运行得更快(避免复制,但如果你能想出除了移动语义之外的任何东西,我也会感兴趣)