当前位置: 首页 > wzjs >正文

网站推广结束语wordpress 默认模板

网站推广结束语,wordpress 默认模板,郑州建设局官方网站,网站网页制作的公司一、std::move() 是干什么的&#xff1f; std::move() 的作用是&#xff1a;把一个左值强制转换为右值引用&#xff0c;从而触发移动语义。 它定义在头文件 <utility> 中。 二、什么是“移动语义”&#xff1f; 在 C11 之前&#xff0c;所有对象的赋值、参数传递都是通…

一、std::move() 是干什么的?

std::move() 的作用是:把一个左值强制转换为右值引用,从而触发移动语义

它定义在头文件 <utility> 中。


二、什么是“移动语义”?

在 C++11 之前,所有对象的赋值、参数传递都是通过拷贝完成的。

拷贝意味着深拷贝数据,但有些情况下我们只想“借走”或“转移”资源 —— 比如堆内存、文件句柄等。

移动语义允许我们**“转移资源的所有权”**,不再执行昂贵的拷贝。


三、std::move() 的基本例子

示例1:触发移动构造函数

#include <iostream>
#include <string>
#include <utility>int main() {std::string a = "hello";std::string b = std::move(a); // 移动构造,a 的内容被“搬走”std::cout << "b = " << b << std::endl;    // hellostd::cout << "a = " << a << std::endl;    // 可能是空的,未定义状态return 0;
}

输出可能是:

b = hello
a =

示例2:移动到函数参数中

void process(std::string s) {std::cout << "Processing: " << s << std::endl;
}int main() {std::string name = "ChatGPT";process(name);               // 拷贝构造process(std::move(name));    // 移动构造
}

如果你想避免拷贝、提高性能,传递临时对象或明确使用 std::move() 是一种方式。


示例3:在自定义类中实现移动构造函数

#include <iostream>
#include <cstring>class MyString {char* data;
public:// 构造函数MyString(const char* str) {data = new char[strlen(str)+1];strcpy(data, str);std::cout << "Constructed\n";}// 移动构造函数MyString(MyString&& other) noexcept {data = other.data;other.data = nullptr;std::cout << "Moved\n";}// 析构函数~MyString() {delete[] data;}
};int main() {MyString a("AI");MyString b = std::move(a);  // 使用移动构造函数
}

输出:

Constructed
Moved

四、使用 std::move() 的注意事项

情况说明
✅ 适合使用移动资源所有权,例如传递大对象、容器中的临时变量
❌ 不建议const 对象使用 std::move(),它不能被移动(因为移动构造需要非常量引用)
⚠️ 风险move 过的变量仍然存在,但已处于空状态,不能再访问原资源
const std::string str = "hello";
std::string movedStr = std::move(str); // 实际是拷贝,不会触发移动构造

五、容器中的 std::move()

vector 中使用 std::move 提高性能:

#include <vector>
#include <string>
#include <iostream>int main() {std::vector<std::string> v;std::string s = "OpenAI";v.push_back(s);              // 拷贝v.push_back(std::move(s));   // 移动
}

第二个 push_back 会触发移动构造,避免拷贝。


✅ 六、总结

项目拷贝语义移动语义
用途复制资源转移资源所有权
性能较慢更快,避免深拷贝
函数调用f(obj)f(std::move(obj))
触发条件左值右值或 std::move()


文章转载自:

http://pEOrh4Pm.grwgw.cn
http://Bvb2E8zg.grwgw.cn
http://CBYmf7sM.grwgw.cn
http://yiwY3GEr.grwgw.cn
http://rPyZscNE.grwgw.cn
http://gwIrvvo5.grwgw.cn
http://ZY47Qx9W.grwgw.cn
http://XCSnKpe6.grwgw.cn
http://cu25SWgs.grwgw.cn
http://SVaFmJPu.grwgw.cn
http://wMLL3csB.grwgw.cn
http://3Tss81gT.grwgw.cn
http://ecPNzxQ0.grwgw.cn
http://cwdAPi65.grwgw.cn
http://KC3zLSuF.grwgw.cn
http://ph2NpYj6.grwgw.cn
http://WM2P7nRJ.grwgw.cn
http://0CF4fzqv.grwgw.cn
http://e1NElwpC.grwgw.cn
http://qVHFZdtg.grwgw.cn
http://Za1lIjkE.grwgw.cn
http://dJLYp3IB.grwgw.cn
http://U61AV2AH.grwgw.cn
http://vegLN9ig.grwgw.cn
http://UwcrhV5l.grwgw.cn
http://xcsgJhnU.grwgw.cn
http://9BCDeMia.grwgw.cn
http://oSphYhhw.grwgw.cn
http://78nJtHpl.grwgw.cn
http://9L0G3kQb.grwgw.cn
http://www.dtcms.com/wzjs/685488.html

相关文章:

  • 网站维护源码网站颜色背景代码
  • 分享几个x站好用的关键词wordpress博客手机发布
  • php网站优化网站开发公司模版
  • 许昌专业做网站公司wordpress微信缩略图
  • wordpress网站慢为什么做游戏网站被封
  • 建站合肥网络公司seowordpress配合七牛云
  • 安徽富通建设有限公司网站苏州网站建设公司
  • 自行建造网站可以做数据图的的网站
  • 学了dw 就可以做网站了吗外贸网站建设可以吗
  • 如何制作wordpress网站地图附近的招聘工作
  • 淄博网站建设优化室内设计学校在哪里
  • 金华网站制作策划网站服务器问题
  • 长春 网站 设计公司网站制作网站建设需要多少钱
  • 新加坡网站建设公司阳江市建设路龙源学校网站
  • 肇庆东莞网站建设网站备案账户名如何查询
  • 毕业设计音乐网站开发背景网页编辑简单分为网页美工编辑和
  • 网站管理员怎么登陆上海网站建设与设计
  • 中心网站建设做网站必须要服务器吗
  • 江西建设职业技术学院迎新网站seo网站的优化方案
  • 网站怎么做才可以做评价wordpress美文主题
  • 网站友情链接的好处2002年网站建设公司
  • vs 2017网站开发php公司文化企业建设
  • 人才招聘网站模板htmlwordpress固定连接出现中文
  • 深圳网站外包奕腾网站建设
  • 梧州高端网站建设服务重庆李健做网站
  • 学校网站建设心得管理部门网站建设说明书
  • 网站建设教程jn建站系统官网
  • 微商的自己做网站叫什么o2o有哪些电商平台
  • 东莞网站优化推荐建站公司售后服务
  • 深圳公司网站设网页设计图片怎么变小