c++学习
文章平均质量分 84
zhangdaliangmvp
Don't be sorry,be better
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ 右值引用、移动语义与完美转发:原理剖析
std::move 本质上是一个类型转换,把表达式转换为右值类别(通常是 xvalue),从而使移动构造函数或移动赋值运算符有机会被调用。如果你的移动构造可能抛异常,标准库为了保证异常安全,有时会宁愿选择拷贝。它的作用是:如果原来传进来的是左值,就继续当左值;如果原来传进来的是右值,就继续当右值。在深入右值引用之前,必须先理解左值(lvalue)和右值(rvalue)的基本概念。有名字,所以永远是左值表达式,右值信息就丢了。的原值了,你可以把它当右值。,那两个都会变成“左值 左值”,因为有名字的。原创 2026-08-16 23:24:45 · 522 阅读 · 0 评论 -
C++智能指针完全指南:从原理到实战
智能指针的出现,正是为了解决这些痛点。简单来说,智能指针仍然是“指针”,但它会帮你自动管理。通常内部保存被管理对象的指针以及指向控制块的状态。,本质上是:一个普通的C++对象,内部保存一个指针,在自己的析构函数里自动释放资源。就不会执行,导致内存泄漏。于是,程序员很自然地想到:能不能让一个对象帮我保管这个指针,在它自己销毁的时候自动。,从为什么需要它们开始,逐步深入到原理、使用场景和面试高频考点。干脆禁止拷贝,这和前面学习的浅拷贝、重复释放问题直接关联。语句,这也是现代C++特别重要的编程思想。原创 2026-08-13 17:10:47 · 318 阅读 · 0 评论 -
C++ Lambda 表达式完全指南
写法含义[]不捕获任何外部变量[=]值捕获所有变量[&]引用捕获所有变量[x]值捕获 x[&x]引用捕获 x[=, &x]默认值捕获,x 引用捕获[&, x]默认引用捕获,x 值捕获。原创 2026-08-12 14:40:12 · 504 阅读 · 0 评论 -
深入理解 new 与 delete:从内存分配到对象生命周期
new T↓ 申请一块内存↓ 构造一个 T↓ 返回 T*delete p↓ 析构一个 T↓ 释放内存new T[n]↓ 申请连续内存↓ 构造 n 个 T↓ 返回第一个 T 的地址delete[] p↓ 析构 n 个 T↓ 释放整块内存永远保持new配deletenew[]配delete[],即使面对简单类型也不要混用。理解背后的内存模型和对象生命周期,才能写出更可靠的 C++ 代码。原创 2026-08-12 14:47:52 · 503 阅读 · 0 评论 -
《C++ primer plus》学习记录之函数指针
与数据项相似,函数也有地址。函数的地址是存储其机器语言代码的内存的开始地址。通常,这些地址对用户而言,既不重要,也没有什么用处,但对程序而言,却很有用。可以编写将另一个函数的地址作为参数的函数。这样第一个函数将能够找到第二个函数,并运行它。与直接调用另一个函数相比,这种方法很笨拙,但它允许在不同的时间传递不同函数的地址,这意味着可以在。原创 2025-04-12 18:16:04 · 1005 阅读 · 0 评论 -
《C++ Primer plus》学习记录,const和指针的爱恨情仇
int *const和const int *傻傻分不清?进来看看吧原创 2025-04-07 21:37:38 · 727 阅读 · 0 评论
分享