![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 65
Dongliner~
陈柏宇……
展开
-
【map:基础用法与细节注意】
map和set是一个关联容器,不仅仅是存储数据还能查找数据,存储的数据和数据之间关联很强。原创 2024-05-20 17:49:10 · 308 阅读 · 0 评论 -
【STL:容器适配器&&仿函数】
第21行:deque<T>是类型,将该类实例化,然后赋给container,container的地位就相当于T,这里给缺省值,如果没有传容器适配器的类型就默认类型为deque, 多增加的这种接口叫做容器适配器。仿函数别名函数对象,重载了一个()让它在使用时像极了函数调用。为了让仿函数使用起来很像函数调用以及复用,这里用类封装了它的()重载。容器适配器可以理解为插头的转换器,容器适配器。栈和队列的实现不用vector和list是因为两者的缺点,而deque 则是二者的嫁接成果。原创 2024-05-12 10:17:26 · 184 阅读 · 0 评论 -
【STL:string的基础介绍及使用】
string是一个表示字符串类的对象,而string类负责维护着string类型的字符串,用户只需要用string对象对数组进行维护。此外,string的成员是私有的,因此用户在使用时并不能访问到string类中的成员,string能实现的功能很多,基础的有对字符串的增删查改,也能对获取都短字符串的某个字符,所以string也支持访问某个单个的元素。原创 2024-05-01 23:00:37 · 8 阅读 · 0 评论 -
【C++:new,delete】
在C语言中,malloc失败会返回一个NULL指针,但C++为了符合面向对象的特性,于是让new的底层为一个operator new,而operator new这个函数封装了malloc和空间开辟失败抛异常。delete的底层也是封装了一个free。此外,还需要知道new和delete的底层是由operator new和operator delete在底层被调用,他们是全局函数,operator new 封装了一个malloc函数,而operator delete封装了一个free函数。原创 2024-05-01 10:04:23 · 231 阅读 · 0 评论 -
【C++:类与对象】
关键字:class没有成员对象的类大小为1字节,对象实例化的标志是开辟空间,这里的1字节恰好是为了证明该类对象的存在。面对对象的三大特性:封装,继承,多态。原创 2024-04-27 21:53:06 · 219 阅读 · 0 评论 -
【C++:引用】
引用简单来讲就是给对象取别名,例如:李逵外号黑旋风,黑旋风就是李逵的别名。引用不会重新开辟空间,与之前的对象存储同一个空间。原创 2024-04-22 14:38:43 · 225 阅读 · 0 评论 -
【C++:多继承,虚拟继承】
一个子类同时拥有多个父类叫做多继承。但多继承同时也引来了菱形继承。原创 2024-04-17 16:11:14 · 192 阅读 · 0 评论 -
【C++:模板,特化,按需实例化】
模板的声明与定义可分离,但不支持分离在俩个文件中。当模板的声明与定义分离时,编译器在编译阶段只会查看调用的函数参数,名字是否匹配,在连接时,会出现连接错误,原因就是编译器找不到该函数的地址。只有实例化才会生成对应的函数,函数没有成功生成,就找不到地址。原创 2024-04-14 13:32:42 · 257 阅读 · 0 评论 -
【C++:继承】
如果子类定义了与父类同名的成员,该成员优先在子类中查找,子类成员会屏蔽父类对同名成员的直接访问,这叫做隐藏,也叫重定义。相同属性的复用,这里引入两个新名词,子类与父类, 每个类都含有父类,父类也叫做基类,子类继承父类的属性,同时含有父类不具备的属性,子类也叫做派生类。父类对子类引用:直接把子类中父类的那部分分割出来取别名,以下演示就可以得到证明,引用是父类是子类切割出来的。原因:(1)子类构造会自动调用父类构造,父类中缺少子类的一些属性,如果用父类初始化子类有可能有属性没有被初始化。原创 2024-04-12 23:26:33 · 215 阅读 · 0 评论