【问题标题】:Improved performance with move semantics and rvalue references通过移动语义和右值引用提高性能
【发布时间】:2012-02-29 16:42:24
【问题描述】:

C++11 引入了move semanticsrvalue references 以防止对临时对象进行不必要的复制。我的问题是,是否有任何研究或论文表明 move semantics 比不使用它的 C++ 代码有所改进。

我认为它可以提高性能的一些领域是字符串处理和使用运算符重载的科学库。但是我们不是已经拥有高性能的科学库,例如在 C++11 之前就已经存在的blitz++。也许,通过使用move semantics,它可以进一步优化。

您认为move semanticsrvalue references 将极大地受益于哪些应用程序?

【问题讨论】:

    标签: c++ c++11 move-semantics


    【解决方案1】:

    几乎所有使用 C++ 标准库的应用程序都将受益于移动语义,而无需做任何额外的事情。例如,看看vector<string> - 移动语义将大大降低添加新元素和增加向量的成本。

    【讨论】:

    • -std=c++11 标志是否自动选择具有移动语义的 STL 库?
    • 根据此页面:gcc.gnu.org/onlinedocs/libstdc++/manual/…“在此实现中,必须使用 -std=gnu++11 或 -std=c++11 标志来启用语言和库功能”
    猜你喜欢
    • 2013-02-14
    • 2012-12-10
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 2011-06-26
    • 2023-04-04
    相关资源
    最近更新 更多