C++
文章平均质量分 84
关于C++的分享
DDDDDDDRDDR
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中的继承
本文系统介绍了面向对象编程中的继承机制。首先阐述了继承的定义,即派生类复用基类特性的方式,重点分析了不同继承方式下成员访问权限的变化。文章详细探讨了基类与派生类间的赋值转换、作用域规则、默认成员函数处理等核心概念,并比较了单继承、多继承及菱形继承的特点。针对菱形继承带来的数据冗余问题,介绍了虚拟继承的解决方案。最后,文章对比了继承与组合两种代码复用方式,指出继承会破坏封装性、增加耦合度,建议优先使用组合方式,仅在需要实现多态等特定场景下采用继承。全文系统梳理了继承机制的关键知识点,并提供了实际应用中的优化建原创 2025-10-12 14:46:30 · 1045 阅读 · 0 评论 -
C++容器:stack和queue
队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端提取元素。队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从队尾入队列,从队头出队列。底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。标准容器类deque和list满足了这些要求。默认情况下,如果没有为queue实例化指定容器类,则使用标准容器deque。queue文档。原创 2025-09-13 22:36:14 · 982 阅读 · 0 评论 -
C++容器:vector
vector文档注意事项:错误初始化正确初始化:注意:拷贝构造不能使用memcpyvector是深拷贝,但是vector空间上存的对象是string的数组使用memcpy导致string对象的浅拷贝解决方案:T是string这样深拷贝的类,调用的是string复制重载,实现的string对象的深拷贝使用insert后对迭代器的使用使用erase后对迭代器的使用vector erase和insert迭代器对象后,不能再访问这个迭代器,我们认为他失效,访问结果是未定义的原创 2025-09-09 19:51:30 · 806 阅读 · 0 评论 -
C/C++内存管理
new和delete是用户进行动态内存申请和释放的操作符,operator new 和operator delete是系统提供的全局函数,new在底层调用operator new全局函数来申请空间,delete在底层通过operator delete全局函数来释放空间。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。malloc/free和new/delete的共同点是:都是从堆上申请空间,并且需要用户手动释放。原创 2025-07-24 18:44:38 · 707 阅读 · 0 评论 -
类和对象(C++)
class为定义类的关键字类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。(1)声明和定义全部放在类体中,需要注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。(2)类声明放在.h文件中,成员函数定义放在.cpp文件中,原创 2025-07-13 22:22:13 · 888 阅读 · 0 评论 -
C++容器:list
list是双向带头链表在阅读list文档时会发现list有自己sort函数因为list的迭代器属于双向迭代器,而std算法库里的sort是使用随机迭代器的,所以list不适合用std算法库里的sort。但是list的sort底层是归并排序效率比不过算法库里的sort,如果遇到少量数据可以使用list的sort,遇到大量数据可以将list的数据放到vector中使用std算法库的sort排序。原创 2025-09-09 20:58:23 · 862 阅读 · 0 评论 -
C++ 关键字和命名空间
关键字和命名空间原创 2025-06-26 15:10:26 · 150 阅读 · 0 评论 -
C++入门
C++入门知识原创 2025-06-27 23:20:11 · 907 阅读 · 0 评论
分享