摘要: 动态内存分配 c++中的动态内存分配 c++中通过new关键字进行动态内存申请 c++中的动态内存申请是基于类型进行的 delete关键字用于内存释放 变量申请: Type* pointer = new Type; delete pointer; 数组申请: Type* pointer = new 阅读全文
posted @ 2018-05-20 14:48 sugarwill 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 函数重载遇上函数指针 将重载函数名赋值给函数指针时 1.根据重载规则挑选与函数指针参数列表一致的候选者 2.严格匹配候选者的函数类型与函数指针的函数类型 注意 函数重载必然发生在同一个作用域中 编译器xuy需要用参数列表或函数类型进行函数选择 无法直接通过函数名得到重载函数的入口地址 c++和c相互 阅读全文
posted @ 2018-05-19 11:40 sugarwill 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 函数重载 用同一个函数名定义不同的函数 当函数名和不同的参数搭配时函数的含义不同 函数重载至少满足下面的一个条件 参数个数不同 参数类型不同 参数顺序不同 当函数默认参数遇上函数重载会发生什么? 编译器调用函数重载的准则 将所有同名函数作为候选者 尝试寻找可行的候选函数 精确匹配实参 通过默认参数能 阅读全文
posted @ 2018-05-19 11:17 sugarwill 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 函数参数的默认值 c++中可以在函数声明时为参数提供一个默认值 当函数调用时没有提供参数的值,则使用默认值 参数的默认值必须在函数声明中指定 问题: 函数定义中是否可以出现参数的默认值? 当函数声明和定义中的参数默认值不同时会发生什么?会报错 函数默认参数的规则 参数的默认值必须从右向左提供 函数调 阅读全文
posted @ 2018-05-19 10:55 sugarwill 阅读(97) 评论(0) 推荐(0) 编辑
摘要: c++中的const常量可以替代hong常数定义 c++中推荐使用内联函数替代宏代码片段 c++中使用inline关键字声明内联函数 内联函数声明时inline关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求。 内联函数具有普通函数的特征(参数检查,返回类型等) 函数的内联请求可能被编译 阅读全文
posted @ 2018-05-19 10:35 sugarwill 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 引用的意义 引用作为变量别名而存在,因此在一些场合可以代替指针 引用相对于指针来说具有更好的可读性和实用性 注意: 函数中的引用形参不需要进行初始化!!! 特殊的引用 const引用 在c++中可以声明const引用变量 const Type& name = var; const引用让变量拥有只读属 阅读全文
posted @ 2018-05-17 23:56 sugarwill 阅读(353) 评论(0) 推荐(0) 编辑
摘要: c++中的布尔类型 c++在c语言的基本类型系统之上增加了bool c++中的bool可取的值只有true和false 理论上bool只占用一个字节 注意: true代表真值,编译器内部用1来表示 false代表非真值,编译器内部用0来表示 三目运算符 c语言中的三目运算符返回的是变量值 不能作为左 阅读全文
posted @ 2018-05-17 23:29 sugarwill 阅读(148) 评论(0) 推荐(0) 编辑
摘要: C语言中的const const修饰的变量是只读的,本质还是变量 const修饰的局部变量在栈上分配空间 const修饰的全局变量在只读存储区分配空间 const只在编译期有用,在运行期无用 const修饰的变量不是真的常量,它只是告诉编译器该变量不能出现在赋值符号的左边。 c++在c的基础上对co 阅读全文
posted @ 2018-05-17 22:56 sugarwill 阅读(115) 评论(0) 推荐(0) 编辑
摘要: register关键字请求编译器将局部变量存储于寄存器中 在c++中依然支持register关键字 c++编译器有自己的优化方式 c语言中无法获取register变量的地址 c++中可以取得register变量的地址 c++中的register关键字 c++编译器发现程序中需要取register变量 阅读全文
posted @ 2018-05-17 22:34 sugarwill 阅读(261) 评论(0) 推荐(0) 编辑