03 2024 档案

摘要:dynamic_memory 首先通过一段代码来引入动态内存分配的主题。一个名为StringBad的类以及一个功能更强大的String类。 #include<iostream> #ifndef STRNGBAD_H_ #define STRNGBAD_H_ class StringBad { pri 阅读全文
posted @ 2024-03-24 22:12 ivanlee717 阅读(92) 评论(0) 推荐(0) 编辑
摘要:list 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相较于vector的连续线 阅读全文
posted @ 2024-03-19 10:35 ivanlee717 阅读(82) 评论(0) 推荐(0) 编辑
摘要:stack&queue stack stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口,形式如图所示。stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法可以存取stack的其他元素。换言之,stack不允许有遍历行为 阅读全文
posted @ 2024-03-17 17:00 ivanlee717 阅读(41) 评论(0) 推荐(0) 编辑
摘要:deque Vector容器是单向开口的连续内存空间,deque则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作,当然,vector容器也可以在头尾两端插入元素,但是在其头部操作效率奇差,无法被接受。 Deque容器和vector容器最大的差异,一在于d 阅读全文
posted @ 2024-03-16 23:27 ivanlee717 阅读(132) 评论(0) 推荐(0) 编辑
摘要:vector vector的数据安排以及操作方式,与array非常相似,两者的唯一差别在于空间的运用的灵活性。Array是静态空间,一旦配置了就不能改变,要换大一点或者小一点的空间,可以,一切琐碎得由自己来,首先配置一块新的空间,然后将旧空间的数据搬往新空间,再释放原来的空间。Vector是动态空间 阅读全文
posted @ 2024-03-10 21:15 ivanlee717 阅读(80) 评论(0) 推荐(0) 编辑
摘要:STL STL提供了六大组件,彼此之间可以组合套用,这六大组件分别是:容器、算法、迭代器、仿函数、适配器、空间配置器。 数据结构和容器管理:STL 提供了多种数据结构和容器,如向量(vector)、链表(list)、集合(set)、映射(map)等。这些容器可以帮助程序员方便地存储和管理数据,根据需 阅读全文
posted @ 2024-03-06 23:39 ivanlee717 阅读(103) 评论(0) 推荐(0) 编辑
摘要:polymorphism 静态联编和动态联编 多态性(polymorphism)提供接口与具体实现之间的另一层隔离,从而将”what”和”how”分离开来。多态性改善了代码的可读性和组织性,同时也使创建的程序具有可扩展性,项目不仅在最初创建时期可以扩展,而且当项目在需要有新的功能时也能扩展。 c++ 阅读全文
posted @ 2024-03-04 16:21 ivanlee717 阅读(90) 评论(0) 推荐(0) 编辑
摘要:Class_memory 接上一篇末尾虚拟继承的简单介绍之后,这篇来详细讲一下这个内存大小是怎么分配的。 使用cl cl 是 Microsoft Visual Studio 中的 C/C++ 编译器命令。通过在命令行中键入 cl 命令,可以调用 Visual Studio 的编译器进行编译操作。cl 阅读全文
posted @ 2024-03-01 22:45 ivanlee717 阅读(82) 评论(0) 推荐(0) 编辑
摘要:inheritance 在 C++ 中,继承是一种面向对象编程的特性,允许一个类(称为子类或派生类)从另一个类(称为基类或父类)那里继承属性和行为。通过继承,子类可以获得父类的数据成员和成员函数,从而可以重用父类的代码并扩展其功能。这样可以提高代码的复用性和可维护性,同时也符合面向对象编程的封装和抽 阅读全文
posted @ 2024-03-01 15:40 ivanlee717 阅读(39) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示