【C++程序设计】-函数和函数模板

来源:互联网 发布:深圳中原大数据 编辑:程序博客网 时间:2024/06/15 05:03

1.函数参数传递方式

传值和传引用(传地址)

传递对象地址值是使用对象指针作为参数,传递地址时使用对象引用作为参数

2.对象作为函数参数

对象作为函数参数,将实参对象的值传递给形参对象,传递时单向的,形参拥有实参的备份,当在函数中改变形参的值,改变的是这个备份中的值,不会影响原来实参的值

3.对象指针作为函数参数

将指针对象的指针作为函数参数,形参是对象指针(指针可以指向对象的地址),实参是对象的地址值。因为形参传递的就是实参本身,当在函数中改变形参的值时,改变的就是原来实参的值。

4.引用作为函数参数

实参对象和 形参对象代表同一个对象,所以改变形参对象的值就是改变实参对象的值

5.默认参数

默认参数是在函数原型中说明的,默认参数可以多于一个,但必须放在参数序列的后部

如果一个默认参数需要指定一个特定值,则在其之前的所有参数都必须赋值

6.使用const保护数据

用const修饰传递参数,意思是通知函数,它只能使用参数而无权修改它

7.函数返回值

引用、指针、对象都可以作为函数的返回值

8.内联函数

inlineint isnumber(char c)

具有循环语句、switch语句的函数不能说明为内联函数,其他函数都可以说明为内联函数

内联函数适合:语句简单、语句较少、执行速度要求高

内联函数必须在程序中第一次调用此函数的语句出现之前定义

9.函数重载

函数重载可使一个函数名具有多种功能,这种特性为多态性

重载函数:参数类型不同或者参数个数不同

动态联编需要虚函数支持,在程序运行中进行

静态联编在程序被编译时进行的

10.函数模板

函数模板的实例化由编译器实现

函数模板形式如下:

template<class T>

Typemax(T m1,Tm2)

使用显示规则和关键字typename:

template<typename T>//使用typename替代class

原创粉丝点击