函数加载,类型转换,内联函数内容讲解
树图思维导图提供 C++基础知识 在线思维导图免费制作,点击“编辑”按钮,可对 C++基础知识 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:b45011d9c82bf8a2897e9e8b62d130f9
1.基础知识思维导图模板大纲
指向常量的指针:一个指向常量的指针变量
常指针:一个指向常量的指针变量
指向常量的常指针:这个指针所指的地址不能改变,它所指向的地址中的内容也不能改变
void通常表示无值,但将void作为指针的类型时,它却表示不确定的类型。这种void型指针是一种通用型指针,也就是说任何类型的指针值都可以赋给void类型的指针变量。 需要指出的是,这里说void型指针是通用指针,是指它可以接受任何类型的指针的赋值,但对已获值的void型指针,对它进行再处理,如输出或者传递指针值时,则必须再进行显式类型转换,否则会出错。
在函数名前冠以关键字inline,该函数就被声明为内联函数。每当程序中出现对该函数的调用时,C++编译器使用函数体中的代码插入到调用该函数的语句之处,同时使用实参代替形参,以便在程序运行时不再进行函数调用。引入内联函数主要是为了消除调用函数时的系统开销,以提高运行速度。
1.内联函数在第一次被调用之前必须进行完整的定义,否则编译器将无法知道应该插入什么代码
2.在内联函数体内一般不能含有复杂的控制语句,如for语句和switch语句等
3.使用内联函数是一种空间换时间的措施,若内联函数较长,较复杂且调用较为频繁时不建议使用
当进行函数调用时,编译器按从左到右的顺序将实参与形参结合,若未指定足够的实参,则编译器按顺序用函数原型中的默认值来补足所缺少的实参。
1.在函数原型中,所有取默认值的参数都必须出现在不取默认值的参数的右边。
2.在函数调用时,若某个参数省略,则其后的参数皆应省略而采取默认值。不允许某个参数省略后,再给其后的参数指定参数值。
在C++中,用户可以重载函数。这意味着,在同一作用域内,只要函数参数的类型不同,或者参数的个数不同,或者二者兼而有之,两个或者两个以上的函数可以使用相同的函数名。
1.调用重载函数时,函数返回值类型不在参数匹配检查之列。因此,若两个函数的参数个数和类型都相同,而只有返回值类型不同,则不允许重载。
2.函数的重载与带默认值的函数一起使用时,有可能引起二义性。
3.在调用函数时,如果给出的实参和形参类型不相符,C++的编译器会自动地做类型转换工作。如果转换成功,则程序继续执行,在这种情况下,有可能产生不可识别的错误。
通常情况下,如果有两个同名变量,一个是全局的,另一个是局部的,那么局部变量在其作用域内具有较高的优先权,它将屏蔽全局变量。 如果希望在局部变量的作用域内使用同名的全局变量,可以在该变量前加上“::”,此时::value代表全局变量value,“::”称为作用域标识符。
可用强制类型转换将不同类型的数据进行转换。例如,要把一个整型数(int)转换为双精度型数(double)
程序运行时,计算机的内存被分为4个区:程序代码区、全局数据区、堆和栈。其中,堆可由用户分配和释放。C语言中使用函数malloc()和free()来进行动态内存管理。C++则提供了运算符new和delete来做同样的工作,而且后者比前者性能更优越,使用更灵活方便。
1.用运算符new分配的空间,使用结束后应该用也只能用delete显式地释放,否则这部分空间将不能回收而变成死空间。
2.在使用运算符new动态分配内存时,如果没有足够的内存满足分配要求,new将返回空指针(NULL)。
3.使用运算符new可以为数组动态分配内存空间,这时需要在类型后面加上数组大小。释放动态分配的数组存储区时,可使用delete运算符。
4.new 可在为简单变量分配空间的同时,进行初始化
是C++对C的一个重要扩充。变量的引用就是变量的别名,因此引用又称别名。引用与其所代表的变量共享同一内存单元,系统并不为引用另外分配存储空间。实际上,编译系统使引用和其代表的变量具有相同的地址。
上面代码输出i和j的值相同,地址也相同。
引用并不是一种独立的数据类型,它必须与某一种类型的变量相联系。在声明引用时,必须1.立即对它进行初始化,不能声明完成后再赋值。 2.为引用提供的初始值,可以是一个变量或者另一个引用。 3.指针是通过地址间接访问某个变量,而引用则是通过别名直接访问某个变量。
树图思维导图提供 Linux 网络基础知识 在线思维导图免费制作,点击“编辑”按钮,可对 Linux 网络基础知识 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:199680f0e48eac8a1aeaadb90447d4f4
树图思维导图提供 双重循环--C++第11课 在线思维导图免费制作,点击“编辑”按钮,可对 双重循环--C++第11课 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:cf46a6cf29101c316c75f05a5a6602f8