🌷🌷🌷🌷① 基本用法
🌷🌷🌷🌷② 函数返回值优化
🌷🌷🌷🌷③ 容器中的移动
② 函数返回值优化
#include <iostream>
#include <string>
using namespace std;
string func() {
string s = "Hello, world!";
return s; // 返回局部变量s,会进行拷贝构造
}
int main() {
string s1 = func(); // 调用函数并返回字符串对象
string s2 = move(func()); // 调用函数并将返回值移动到s2中
return 0;
}
在这个例子中,我们创建了一个函数,返回一个字符串对象。当我们直接将返回值赋值给一个字符串对象时,会进行一次拷贝构造。但是,如果我们使用move函数将返回值移动到目标对象中,可以避免不必要的拷贝操作,提高程序的性能和效率。这个例子展示了如何使用右值引用和移动语义来优化函数返回值的拷贝操作。