jjzjj

makeChanges

全部标签

c++ - 与 (N)RVO 一起有效使用 move 语义

假设我想实现一个函数,该函数应该处理一个对象并返回一个新的(可能已更改的)对象。我想在C+11中尽可能高效地执行此操作。环境如下:classObject{/*ImplementationofObject*/Object&makeChanges();};我想到的备选方案是://Firstalternative:Objectprocess1(Objectarg){returnarg.makeChanges();}//Secondalternative:Objectprocess2(Objectconst&arg){returnObject(arg).makeChanges();}Objec