1、引用:函数中的参数可以按值或按引用传递;
2、引用参数:引用提供的对象的别名或可选名,引用的最重要的用途是向函数传递参数。
3、从函数返回引用:按引用传递不会造成实际变量的副本,而只是创建一个别名,该别名在被调函数中可以用作形式变量;类似地,返回引用并不是返回变量的值,而是返回别名。
4、常量引用:用于不希望修改对象,以及要把大对象当作输入参数传递给函数的情况;
5、函数的默认参数优点:如果要使用的参数在函数中总是采用相同的值,则默认参数非常有用;如果在程序编写完后,程序员决定通过添加参数来增加函数的功能,此时默认参数也非常有用;
6、内联函数使用要点:编译器必须看到函数定义,而不仅仅是在第一次函数调用之前声明,这是因为编译器必须在程序中插入实际代码,而不仅仅是插入调用该函数的指令;inline 关键字实际上只是对编译器的请求,有时编译器会忽略该请求,而像编译常规函数那样编译该函数;当为包含不同源文件的应用程序定义内联函数时,不允许为不同源文件中的内联函数指定不同的实现;
7、函数重载:在面向对象编程中,函数重载是一个重要特性;用于用于定义一组函数,这些函数具有相同的名称,执行基本相同的操作,但是使用不同的参数列表;
8、函数重载的优点:不必对相同的操作使用不同的函数名、有助于更轻松地理解和调试代码、更易于维护代码;
9、函数多态性:函数重载可以看成是一种多态性,多态性实质是指一个实体可以有多种形式;因此,函数多态性意味着一个函数有多种形式;
10、数据类型不同的重载:只要参数的类型不同,编译器就能够区分各个带有相同个数的参数的重载函数;通过函数重载,程序员的工作得到以简化了一些,因为函数重载减少了要记住的函数名的个数;
11、参数个数不同的重载:除了对不同的数据类型进行重载之外,对于函数调用中参数个数不同的情况也可以进行函数重载;编译器解析重载的方式与函数的声明顺序无关,而且不会考虑函数的返回值类型;
12、函数重载的作用域规则:函数重载是用相同的名称定义多个函数(它们的区别只是参数的类型和数目不同)的过程,重载机制只有在函数声明的作用域内才有效,可以对类的不同作用域声明相同的函数名,或使用全局和局部声明,但是这些方式不是函数重载。