
C++
文章平均质量分 85
C++学习专题
李白同学
少年没有乌托邦,心向远方自明朗!
展开
-
C++:list容器(上篇)
rbegin(end)与rend(begin)为反向迭代器,对迭代器执行++操作,迭代器向前移动。begin与end为正向迭代器,对迭代器执行++操作,迭代器向后移动;原创 2025-03-11 19:34:12 · 1115 阅读 · 0 评论 -
C++:vector容器(上篇)
(constructor)构造函数声明接口说明vector()(重点)无参构造构造并初始化n个val(重点)拷贝构造使用迭代器进行初始化构造it!原创 2025-03-09 19:14:39 · 1314 阅读 · 0 评论 -
C++:string容器(下篇)
string容器模拟与实现。原创 2025-03-08 20:35:27 · 572 阅读 · 0 评论 -
C++:string容器(上篇)
这种设计也是有一定道理的,大多数情况下字符串的长度都小于16,那string对象创建好之后,内部已经有了16个字符数组的固定空间,不需要通过堆创建,效率高。注意:resize在改变元素个数时,如果是将元素个数增多,可能会改变底层容量的大小,如果是将元素个数减少,底层空间总大小不变;,当reserve的参数小于string的底层空间总大小时,reserver不会改变容量大小。,引入size()的原因是为了与其他容器的接口保持一致,一般情况下基本都是用size();故总共占16+4+4+4=28个字节。原创 2025-03-07 18:03:18 · 700 阅读 · 0 评论 -
C++:模板(下篇)
一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】1. 模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生。2. 增强了代码的灵活性。【缺陷】1. 模板会导致代码膨胀问题,也会导致编译时间变长。2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。完。原创 2025-03-06 17:21:14 · 910 阅读 · 0 评论 -
C++:模板(上篇)
class 类模板名// 类内成员定义// 类模版public :_size = 0;// 模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误,具体原因后面会讲// 扩容++_size;原创 2025-03-05 21:04:04 · 884 阅读 · 0 评论 -
C++:new和delete操作符
int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间// 还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的// Cfree(p3);delete p4;free(p5);return 0;原创 2025-03-02 19:06:12 · 1171 阅读 · 0 评论 -
C++:iterator迭代器失效
但我们要记住,虽然可以这样解决,但是erase(it)之后,不要再去访问it迭代器,它已经失效了。正确做法,最好是在insert之后不要使用它的迭代器!原创 2025-02-19 18:20:21 · 436 阅读 · 0 评论 -
C++:构造函数和析构函数
如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数。 默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。⼀个类,我们不写的情况下编译器会默认生成以下6个默认成员函数,需要注意的是这6个中最重要的是前4个,最后两个取地址重载不重要,我们稍微了解⼀下即可。其次就是C++11以后还会增加两个默认成员函数,移动构造和移动赋值。默认成员函数很重要,也比较复杂,我们要从两个方面去学习:原创 2025-02-16 19:05:03 · 1057 阅读 · 0 评论 -
C++:入门基础
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。// 1.普通的命名空间namespace N1 // N1为命名空间的名称// 命名空间中的内容,既可以定义变量,也可以定义函数int a;// 变量int Add(int x, int y) // 函数// 2.命名空间可以嵌套int a;int b;int c;int d;原创 2024-12-15 19:36:06 · 660 阅读 · 0 评论 -
C++:类和对象(下篇)
定义时不添加static关键字。3. 类静态成员即可用类名::静态成员或者对象.静态成员来访问。4.原创 2025-03-01 20:20:28 · 1498 阅读 · 0 评论 -
C++:类和对象(中篇)
默认的拷贝构造函数对象按内存存储按字节序完成拷贝,这种拷贝我们叫做浅拷贝,或者值拷贝。原创 2025-02-28 17:39:46 · 1387 阅读 · 0 评论 -
C++:类和对象(上篇)
/ 类体:由成员函数和成员变量组成//这里的分号不能省略class为定义类的关键字ClassName为类的名字{}中为类的主体,特别要注意类定义结束时后面分号。类中的元素称为类的成员;类中的数据称为类的属性或者成员变量;类中的函数称为类的方法或者成员函数。1. 声明和定义全部放在类体中,需要注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。//声明和定义全部放在类体中public://显示基本信息private://姓名char* _sex;//性别int _age;原创 2025-02-27 17:53:03 · 1668 阅读 · 0 评论