随笔分类 - 日结
摘要:1.宏定义: (1)宏名一般用大写 (2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义 (3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。 (4)宏定义末尾不加分号; (5)宏定义写在函数的花括号外边,作用域为其
阅读全文
摘要:1. 指向数组的指针 int(*P)[10] 的初始化🐮 2.内联函数(跳转)替代宏 3.虚析构: 虚析构函数是为了避免内存泄露,而且是当子类中会有指针成员变量时才会使用得到的。也就说虚析构函数使得在删除指向子类对象的基类指针时可以调用子类的析构函数达到释放子类中堆内存的目的,而防止内存泄露的.
阅读全文
摘要:1.常量字符串“ABCDE”中,结尾还保留一个空字符‘ \0’ , 总共有6个字符,所以字符数组s使用常量字符串初始化时,s的数组大小必须 >= 6 。如:char s[6] = "abcde"; 但读取时字符范围为0~4,s[5]为\0 2."hello"为 const char * 类型 无法将
阅读全文
摘要:1.函数不可嵌套定义,但可以嵌套调用。 2.静态数据成员必须在类外初始化,使用类名调用。 初始化格式: <数据类型><类名>::<静态数据成员名> = <值> 3.C++不能重载的: :: . -> ?: 4. 哪有“隐含打开方式”????? 必须指定🤡
阅读全文
摘要:1.树的节点 树的总结点数 = 数所有节点度数之和 + 1 对于二叉树,度为0的节点(叶子节点)总是比度为2的节点多一个 2.扇入 在软件工程中,模块的扇入是指有多少个上级模块调用它。扇入越大,表示该模块被更多的上级模块共享。这当然是我们所希望的。但是不能为了获得高扇入而不惜代价,例如把彼此无关的功
阅读全文
摘要:1.内联函数 内联函数是指用inline关键字修饰的函数。在类内定义的函数被默认成内联函数。内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。 内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用
阅读全文