摘要: 程序生成的过程:1.预处理:头文件的展开宏的替换预处理指令解析去掉注释 2.编译:预处理后文件 生成汇编文件 .asm(汇编代码)词法解析,语法解析 语义分析 优化 3.汇编:汇编文件进一步处理,生成目标机器指令(二进制文件.obj) 4.链接:将多个目标文件(库文件)链接生成可执行程序(.exe, 阅读全文
posted @ 2023-03-11 11:25 Rainzzxy 阅读(62) 评论(0) 推荐(0)
摘要: c++命名空间 为了区分不同库中相同名称的函数、类、变量等命名空间的定义使用关键字 namespace,后跟命名空间的名称,如下所示: namespace namespace_name { // 代码声明}为了调用带有命名空间的函数或变量,需要在前面加上命名空间的名称,如下所示: name::cod 阅读全文
posted @ 2023-03-11 10:49 Rainzzxy 阅读(94) 评论(0) 推荐(0)
摘要: 2023.02.15.差分 什么是差分 首先有一个数组a,在里面包含数据 我们定义一个数组b,使每个元素有一下规则 b[i] = a[i] -a[i-1](a从一开始保存数据,a[0] = 0) 也就是说,a数组是b数组的前缀和数组,反过来我们把b数组叫做a数组的差分数组。换句话说,每一个a[i]都是b数组中从头开始的一段区间 阅读全文
posted @ 2023-02-15 20:01 Rainzzxy 阅读(117) 评论(1) 推荐(0)
摘要: 2022.01.13.this指针 全局对象生命周期:程序开始创建-程序退出(销毁)被回收 静态全局对象生命周期:程序开始创建-程序退出(销毁)被回收 从栈区局部对象,遇到函数的返回或者} 生命周期结束,自动回收 非静态类成员属性,属于对象,在定义对象时存在,定义多个对象成员属性存在多分,彼此之间互不影响 类成员函数:属于这个类的,不 阅读全文
posted @ 2023-01-06 15:58 Rainzzxy 阅读(59) 评论(0) 推荐(0)
摘要: 2022.01.18.类之间的横向关系 组合:部分与整体,包含与被包含有生命周期约束关系 它是一种“is a part of”的关系(部分与整体)。组合是一个类中包含另一个类对象。相比聚合,组合是一种强所属关系,组合关系的两个对象往往具有相同的生命周期,被组合的对象在组合对象常见的同时或者之后创建,在组合对象销毁之前销毁,一般来说,被组合 阅读全文
posted @ 2023-01-06 13:08 Rainzzxy 阅读(100) 评论(1) 推荐(0)
摘要: 父类(基类) class CFather{ public: int m_a; int m_money; /*CFather(){ m_a=30; m_money=100; }*/ CFather(int a,int b){ m_a=a; m_money=b; } ~CFather(){ cout<< 阅读全文
posted @ 2023-01-06 13:07 Rainzzxy 阅读(47) 评论(0) 推荐(0)
摘要: #include<iostream> using namespace std; class CTest{ public: const int m_a; mutable int m_b;//关键字:mutable 在常函数中可以修改 //初始化参数列表:真正初始化类成员的地方,const 成员的初始化 阅读全文
posted @ 2023-01-06 13:07 Rainzzxy 阅读(57) 评论(0) 推荐(0)
摘要: 在继承下,允许未经转换,父类的指针可以指向子类指针 父类的指针可以指向子类对象:同意多种类型,提高复用性,扩展性 在调用继承于同一个父类的多个子类的同一个函数时,可以使用父类的指针可以指向子类对象,提高复用性,扩展性 定义函数指针 void play(){ cout<<"play"<<endl; } 阅读全文
posted @ 2023-01-06 13:06 Rainzzxy 阅读(57) 评论(0) 推荐(0)
摘要: 多态的缺点:1.虚函数指针在每个对象中都会存在一份,虚函数列表列表中每个类存在一份,空间问题2.效率问题3.安全性问题 抽象类:包含纯虚函数的类成为抽象类,不能定义对象 纯虚函数,只声明 不用实现 最终的子类一定要定义实现纯虚函数 关键字override被他修饰的函数必须是重写父类 阅读全文
posted @ 2023-01-06 12:38 Rainzzxy 阅读(51) 评论(0) 推荐(0)
摘要: 程序生成的过程:1. 预处理: .i文件 头文件的展开: 宏的替换 预处理指令解析 #ifndef ,#if #ifdef #else #elif #endif 去掉注释2.编译: 预处理后的文件 生成汇编文件 .asm(汇编代码) 词法解析、语法解析、语义分析、优化3.汇编:汇编文件进一步处理 , 阅读全文
posted @ 2023-01-06 12:17 Rainzzxy 阅读(79) 评论(0) 推荐(0)