关于C++11中的std::move和std::forward
摘要:
std::move是一个用于提示优化的函数,过去的c++98中,由于无法将作为右值的临时变量从左值当中区别出来,所以程序运行时有大量临时变量白白的创建后又立刻销毁,其中又尤其是返回字符串std::string的函数存在最大的浪费。比如:1 std::string fileContent = “oldContent”;2 s = readFileContent(fileName);因为并不是所有情况下,C++编译器都能进行返回值优化,所以,向上面的例子中,往往会创建多个字符串。readFileContent如果没有内 部状态,那么,它的返回值多半是std::string(const std::s 阅读全文
posted @ 2013-08-10 16:34 keep_simple 阅读(1732) 评论(0) 推荐(0) 编辑