- 博客(8)
- 收藏
- 关注
原创 C++ 左值、右值、移动语义与移动构造 / 赋值(最通俗详解)
本文摘要: 本文系统讲解了C++中的左值/右值概念及其应用。左值是有持久存储的具名变量,右值是临时对象或字面量。C++11引入右值引用(T&&)实现移动语义,通过转移资源所有权而非复制来优化性能。文中详细对比了拷贝构造/赋值(深拷贝)与移动构造/赋值(资源转移)的区别,并给出完整代码示例演示各种调用场景。重点包括: 左值右值的定义与特征 三种引用的绑定规则 移动语义如何避免不必要的拷贝 std::move的作用与使用场景 管理动态内存的类如何实现移动操作 通过分析字符串类的实现,展示了移动语
2026-03-31 19:45:31
495
原创 C++重载(函数重载,运算符重载)
本文详细讲解了C++中的重载机制,包括函数重载和运算符重载。函数重载允许在同一作用域定义多个同名函数,只要参数列表不同即可,但仅返回值不同或参数名不同不算重载。运算符重载则让自定义类型可以使用原生运算符,如+、==、++等,需注意不同运算符的写法位置和返回值类型。文章还列举了常见错误,如返回局部变量引用、混淆前置后置++等,并通过复数类实例演示了+和<<运算符的重载实现。重载机制能提升代码可读性,使自定义类型拥有原生类型般的操作便利性。
2026-03-31 16:01:37
553
原创 C++动态指针和动态数组,基础详解
本文系统讲解了C++动态数组的核心知识。首先区分静态数组(编译时确定大小)和动态数组(运行时确定大小,可灵活调整)。基础实现部分介绍了使用普通指针手动管理内存的方法,包括开辟空间、扩容和释放内存。重点剖析了vector容器的三指针模型及其自动扩容机制。进阶部分讲解了使用智能指针unique_ptr管理动态数组的正确方法,并对比了普通智能指针数组和嵌套智能指针数组的适用场景。全文从底层原理到实际应用,循序渐进地帮助读者掌握动态数组的各种实现方式和使用技巧。
2026-03-27 08:47:38
544
原创 C++ 核心内存与数据结构:堆、栈与容器
本文深入解析了C++内存模型中的堆与栈的区别及应用场景,并详细介绍了STL容器的分类与特性。栈内存自动管理、速度快但空间有限,适合局部变量;堆内存需手动管理但空间大,适合动态数据。现代C++建议优先使用智能指针和STL容器管理堆内存。STL容器分为序列式、关联式和适配器三类,各有适用场景和性能特点。文章强调应避免裸指针操作,理解小对象优化和迭代器失效问题,并警惕栈溢出风险,为编写高效安全的C++代码提供了实用指导。
2026-03-26 13:06:31
405
原创 C++模块化开发(VsCode)代码拆分、多文件编译、避坑指南
很多同学写 C++ 时,习惯把所有代码写在一个 main.cpp 里。但项目稍微变大,代码就会混乱不堪、难以维护、难以排错。模块化开发,就是解决这个问题的标准答案。与此同时,在使用VsCode时也会遇到一点编译上的问题,这篇文章将会为你解惑把一个大程序,按照功能拆分成多个文件,每个文件只负责一件事。例如:就像一家公司:有人做产品有人写代码有人做测试互不干扰,但协同工作。分文件编写声明与实现分离正确编译文件夹独立。
2026-03-26 10:42:12
258
原创 C++中的智能指针
智能指针是C++标准库提供的类模板,通过封装裸指针实现自动内存管理。其基于RAII机制,在析构时自动释放内存,解决了裸指针的内存泄漏、重复释放和野指针问题。主要分为三种类型:独占型unique_ptr(禁止拷贝,允许移动)、共享型shared_ptr(引用计数)和弱引用weak_ptr(解决循环引用)。智能指针重载*和->运算符,使用方式类似普通指针,但具备类型安全和自动清理特性。相比裸指针,智能指针明确了所有权语义,大幅提升了内存安全性,是现代C++开发中动态内存管理的首选方案。
2026-03-23 14:40:30
491
原创 C++中类的拓展(静态成员,常成员,拷贝构造,友员函数)
本文是在学习完类的基础上进行拓展的内容,其实也不算,因为这也属于是类的知识点,本文主要介绍和使用一下类当中的静态成员(static),常成员(const),拷贝函数(stcopy),友员函数(friend)结合上面的知识点归纳,以及练习题的巩固,相信大家也大抵能够对这部分的知识,有所掌握,,如果有部分内容解释的不是很明白请谅解,随时欢迎各位在评论区交流学习。
2026-03-23 10:42:13
629
原创 C++面向对象核心知识点实战-游戏角色战斗系统(详细讲解指针/函数指针/继承/多态)
本文对C++中的指针核心知识点进行了系统讲解。主要内容包括:1)指针的基本定义与操作符(&、*、=);2)指针与变量的关系模型及const修饰符的使用;3)指针与数组的联系与区别,包括地址访问、遍历方式等。通过代码示例展示了指针的实际应用,如变量修改、数组遍历等。文章强调指针作为内存地址"门牌号"的本质特性,并详细分析了指针在不同场景下的使用方法和注意事项。最后还指出了指针生命周期中的常见问题(虚空指针、野指针)及解决方案。
2026-03-20 15:32:26
685
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅