![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 95
C++知识汇总
搞点夜点心
这个作者很懒,什么都没留下…
展开
-
string(1)
C语言中,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。原创 2024-09-08 13:32:07 · 954 阅读 · 14 评论 -
内存管理、模块初阶、STL简介
class 类模板名// 类内成员定义// 类模版public:_size = 0;// 模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误// 扩容++_size;是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。原创 2024-09-04 10:44:15 · 815 阅读 · 18 评论 -
类和对象以及内存管理
int main()// new/delete 和 malloc/free最大区别是 new/delete对于// 自定义类型除了开空间还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的free(p3);delete p4;free(p5);return 0;new与mallocdelete与free。原创 2024-08-31 11:44:01 · 887 阅读 · 19 评论 -
类和对象(4)
因为初始化列表的顺序是按声明顺序进行的,因此我们可以知道_a2先进行声明,因此先计算_a2(_a1),由于_a1还未进行声明,因此_a2为随机值,又因为传入了1,不用使用缺省值,因此_a1为1。因此,答案为 1 随机值,选D。由于c为全局变量,因此c先调用构造函数,再进入main函数中,紧接着a,b再调用构造函数,最后d再调用构造函数,因此构造函数的调用顺序为 c a b d,因此选E。析构函数的调用顺序为局部到整体,并且先进行构造函数的后进行析构函数,因此析构函数的顺序为 b a d c,选B。原创 2024-08-28 13:28:33 · 1329 阅读 · 15 评论 -
类和对象(2)
⼀个类,我们不写的情况下编译器会默认生成以下6个默认成员函数,需要注意的是这6个中最重要的是前4个。其次就是C++11以后还会增加两个默认成员函数,和。原创 2024-08-11 18:05:39 · 1056 阅读 · 3 评论 -
类和对象(1)
为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前面或者后面加或者开头,注意中这个并不是强制的,只是⼀些惯例,具体看公司的要求。中也可以定义类,兼容C中的用法,同时升级成了类,明显的变化是中可以定义函数,⼀般情况下我们还是推荐用定义类。定义在类⾯的成员函数默认为。访问限定符⼀种实现封装的方式,用类将对象的属性与方法结合在⼀块,让对象更加完善,通过访问权限选择性的将其接口提供给外部的用户使用。修饰的成员在类外可以直接被访问;和修饰的成员在类外不能直接被访问,和是⼀样的原创 2024-08-07 20:19:24 · 941 阅读 · 12 评论 -
C++入门基础
定义命名空间,需要使用到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace本质是定义出⼀个域这个域跟全局域各自独立,不同的域可以定义同名变量,所以下⾯的rand不在冲突了。C++中域有函数局部域全局域命名空间域类域;域影响的是编译时语法查找⼀个变量/函数/类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。原创 2024-08-02 19:09:50 · 1162 阅读 · 7 评论