摘要: 1 引用的意义 引用作为变量别名而存在,因此在一些场合可以代替指针 引用相对于指针来说具有更好的可读性和实用性 swap 函数的实现对比 //指针方法 void swap(int* a,int* b) { int t = *a; *a = *b; *b = t; } //引用方法 void swap 阅读全文
posted @ 2020-09-19 11:27 nxgy 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1 布尔类型 C++ 中的布尔类型 C++ 在 C 语言的基本类型系统之上增加了 bool C++ 中的 bool 可取的值只有 true 和 false bool 只占用一个字节 注意: true 代表真值,编译器内部用 1 来表示 false 代表非真值,编译器内部用 0 来表示 布尔类型的值 阅读全文
posted @ 2020-09-19 10:13 nxgy 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 1 C语言中的 const const 修饰的变量是只读的,本质上还是变量 const 修饰的局部变量在栈上分配空间 const 修饰的全局变量在只读存储区分配空间 const 只在预编译期有用,在运行期无用 const 修饰的变量不是真的常量,它只是告诉编译器该变量不能出现在赋值符号的左边 C/C 阅读全文
posted @ 2020-09-19 10:08 nxgy 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 问题 下面这些声明合法么? int array[5]; int matrix[3][3]; int* pa = array; int* pm = matrix; array 代表数组首元素的地址,那么 matrix 代表什么? array 和 &array 的地址值相同,但是意义不同,那么它们所代表 阅读全文
posted @ 2020-09-12 09:17 nxgy 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 1 字符串的概念 字符串是有序字符的集合 字符串是程序中的基本元素之一 C 语言中没有字符串的概念 C 语言中通过特殊的字符数组模拟字符串 C 语言中的字符串是以 '\0' 结尾的字符数组 2 字符数组与字符串 在 C 语言中,双引号引用的单个或多个字符是一种特殊的字面量——字符串字面量 存储于程序 阅读全文
posted @ 2020-09-10 16:31 nxgy 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 1 数组的本质 数组是一段连续的内存空间 数组的空间大小为 sizeof(array_type) * array_size 数组名可看作指向数组第一个元素的常量指针,但数组名绝不是指针 a + 1 的意义 #include <stdio.h> int main() { int a[5] = {0}; 阅读全文
posted @ 2020-09-10 16:29 nxgy 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1 指针的本质分析 1.1 问题 程序中的变量只是一段存储空间的别名,那么是不是必须通过这个别名才能使用这段存储空间? 不是,还可以利用指向这段内存空间的指针 int i = 5; int* p = &i; printf("%d, %p\n",i,p); // 5, 0xbf847b5c *p = 阅读全文
posted @ 2020-09-10 16:28 nxgy 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 1 # 运算符 # 运算符用于在预处理期将宏参数转换为字符串 # 的转换作用是在预处理期完成的,因此只在宏定义中有效 编译器不知道# 的转换作用 用法 #include <stdio.h> #define STRING(x) #x int main() { printf("%s\n", STRING 阅读全文
posted @ 2020-09-10 16:26 nxgy 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1 pragma 简介 #pragma 用于指示编译器完成一些特定的动作 #pragma 所定义的很多指示字是编译器独有的 #pragma 在不同的编译器间是不可移植的 预处理器将忽视它所不认识的 #pragma 指令 不同的编译器可能以不同的方式解释同一条 #pragma 指令 一般用法 不同的 阅读全文
posted @ 2020-09-10 16:25 nxgy 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 遵循经典设计准则:DTLib 中的所有类位于单一的继承树 改进的关键点 Exception 类继承自 Object 类:堆空间中创建异常对象失败时,返回 NULL 指针 新增 InvalidOperationException 类:成员函数调用时,如果状态不正确则抛出异常 SmartPointer 阅读全文
posted @ 2020-09-06 21:42 nxgy 阅读(94) 评论(0) 推荐(0) 编辑