- 博客(12)
- 收藏
- 关注
原创 C++之list类
通过前面例子知道,反向迭代器的++就是正向迭代器的--,反向迭代器的--就是正向迭代器的++, 因此反向迭代器的实现可以借助正向迭代器,即:反向迭代器内部可以包含一个正向迭代器,对 正向迭代器的接口进行包装即可。list中的接口比较多,此处类似,只需要掌握如何正确的使用,然后再去深入研究背后的原理,已 达到可扩展的能力。unique的作用是去除连续重复的元素(如果要去除所有重复的元素需要先排序)(1)push_front 和 pop_front。resize操作方式有两种。erase有两种删除方式。
2025-05-20 16:38:22
615
原创 C++ 之vector类
构造函数声明接口说明vector()(重点)无参构造构造并初始化n个val(重点)拷贝构造使用迭代器进行初始化构造//无参构造//构造并初始化n个val//拷贝构造//使用迭代器进行初始化构造。
2025-05-19 17:18:54
718
原创 C++ string类的模拟实现
C++向我们提供了string类及其各种接口,而对于我们学习而言,通过自己实现string类为我们提的各种接口,会让我们更深刻的理解string类对于string类,它的本质是动态增长的数组,因此我们可以像顺序表一样,通过动态开辟一个字符串数组char*,用size控制字符串的长度,而用capacity来表示这个容器的容量大小;
2025-05-12 20:51:31
630
原创 C++模板初阶
class 类模板名//类内成员定义我们以栈为例:public:_size = 0;// 扩容++_size;这里采用了类里声明,类外定义的方式,要注意的是,在类外声明时,还要加上template关键字声明模板参数,因为它的作用域只到紧靠着它的函数。
2025-05-08 11:47:41
692
原创 C++内存管理
我们看到new除了开辟空间还自动调用了构造函数进行初始化。delete除了释放指针指向的空间还会调用析构函数对自定义类型进行析构。如果对应的构造函数有参数,我们new的同时也可以传参。
2025-05-08 11:47:10
898
原创 C++类和对象(中)
默认成员函数就是我们不写,编译器会自动生成的成员函数就称为默认成员函数,一个类,我们什么都不写的情况下编译器会自动生成六个默认成员函数。
2025-04-25 17:28:51
895
原创 c++类和对象(上)
class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或者成员函数。为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前⾯或者后⾯加_ 或者 m 开头,注意C++中这个并不是强制的,只是⼀些惯例。
2025-04-17 09:58:54
618
原创 C++入门基础
• 定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等。• namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下⾯的rand不在冲突了。• namespace只能定义在全局,当然他还可以嵌套定义。• 项⽬⼯程中多⽂件中定义的同名namespace会认为是⼀个namespace,不会冲突。• C++中域有函数局部域,全局域,命名空间域,类域;
2025-04-14 15:25:27
642
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1