摘要: 1.常量与宏回顾 C++中的const常量可以替代宏参数定义,如:const int A = 3; <--> #define A 3 问题:C++中有解决方案替代宏代码片段吗? 2.内联函数 C++中推荐使用内联函数替代宏代码片段 C++中使用inline关键字声明内联函数 内联函数声明时inlin 阅读全文
posted @ 2020-01-10 17:17 认真做个普通人 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 成员变量的回顾 通过对象名能够访问public成员变量 每个对象的成员变量都是专属的 成员变量不能在对象之间共享 新的需求: 统计在程序运行期间某个类的对象数目 保证程序的安全性(不能使用全局变量) 随时可以获取当前对象的数目 以下程序不满足要求,因为每个对象的成员变量都是专属的。 在C++中可以定 阅读全文
posted @ 2020-01-10 16:30 认真做个普通人 阅读(1204) 评论(0) 推荐(0) 编辑
摘要: 请看程序: 1 #include <stdio.h> 2 class Complex 3 { 4 int a; 5 int b; 6 public: 7 Complex(int a,int b) 8 { 9 this->a = a; 10 this->b = b 11 } 12 friend Com 阅读全文
posted @ 2020-01-10 15:03 认真做个普通人 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 数组是相同类型变量的有序集合,例如:int a[5]; a代表数组第一个元素的起始地址 有5个int类型的数据,且是5个连续的内存空间。 这个20个字节的空间的名字叫a,a[0],a[1]都是数组中的元素,数组中的元素没有名字 数组的大小 数组在一片连续的内存空间中存储元素 数组元素的个数可以显式或 阅读全文
posted @ 2020-01-10 14:53 认真做个普通人 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 动态内存分配的意义 C语言中的一切操作都是基于内存的 变量和数组都是内存的别名 内存分配由编译器在编译期间决定 定义数组的时候必须指定数组长度 数组长度是在编译期就必须确定的 需求:程序运行的过程中,可能需要使用一些额外的内存空间 malloc和free用于执行动态内存分配和释放 malloc所分配 阅读全文
posted @ 2020-01-10 14:46 认真做个普通人 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 重载(Overload) 同一个标识符在不同的上下文有不同的意义 如:“洗”和不同的词汇搭配后有不同的含义,洗衣服,洗脸,洗脑,洗马桶。。。。 “play”和不同的单词搭配后有不同的含义,play chess,play piano,play basketball 函数重载( Function Ove 阅读全文
posted @ 2020-01-10 14:11 认真做个普通人 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 指针本质分析 变量回顾:程序中的变量只是一段存储空间的别名,那么是不是必须通过这个别名才能使用这段存储空间? 可以通过指针改变另一个变量的值 指针的本质为变量(只要是变量,就有地址),不过说这种变量很特殊,它存储的是变量的地址值 在指针声明时,*号表示所声明的变量为指针 在指针使用时,*号表示取指针 阅读全文
posted @ 2020-01-10 14:02 认真做个普通人 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 知识点: C语言中单引号用来表示字符字面量 C语言中的双引号用来表示字符串字面量 ‘a’表示字符字面量,在内存中占一个字节,‘a’+1表示‘a’的ascii码加1,结果为‘b’ “a”表示字符串字面量,在内存中占2个字节,“a”+1表示指针运算,结果指向“a”结束符‘\0 ’ 字符字面量被编译为对应 阅读全文
posted @ 2020-01-10 13:48 认真做个普通人 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 杜绝野指针 指针变量中的值是非法的内存地址,进而形成野指针 野指针不是NULL指针,是指向不可用内存地址的指针 NULL指针并无危害,很好判断,也很好调试 C语言中更无法判断一个指针保存的地址是否合法 野指针的由来 局部指针变量没有初始化(定义指针需要初始化NULL) 指针所指向的变量在指针之前被销 阅读全文
posted @ 2020-01-10 13:41 认真做个普通人 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 函数重载回顾 函数重载的本质为相互独立的不同函数 C++中通过函数名和函数参数确定函数调用 无法直接通过函数名得到重载函数的入口地址 函数重载必然发生在同一个作用域 类中的成员函数可以进行重载 构造函数的重载 普通成员函数的重载 静态成员函数的重载 问题:全局函数,普通成员函数以及静态成员函数之间是 阅读全文
posted @ 2020-01-10 10:08 认真做个普通人 阅读(3074) 评论(0) 推荐(1) 编辑