本篇要学习的内容和知识结构概览
函数的参数及其传递方式 1. 函数参数传递方式
传值:
传变量值: 将实参内存中的内容拷贝一份给形参, 两者是不同的两块内存
传地址值: 将实参所对应的内存空间的地址值给形参, 形参是一个指针, 指向实参所对应的内存空间
传引用:
形参是对实参的引用, 形参和实参是同一块内存空间
2. 对象作为函数参数, 也就是传变量值
将实参对象的值传递给形参对象, 形参是实参的备份, 当在函数中改变形参的值时, 改变的是这个备份中的值, 不影响原来的值
像这样:
3. 对象指针作为函数参数, 也就是传地址值
形参是对象指针, 实参是对象的地址值, 虽然参数传递方式仍然是传递方式, 因为形参和实参的地址值一样, 所以它们都指向同一块内存, 我们通过指针更改所指向的内存中的内容, 所以当在函数中通过形参改变内存中的值时, 改变的就是原来实参的值
像这样:
对于数组, 因数组名就是代表的数组首地址, 所以数组也能用传数组地址值的方式
4. 引用作为函数参数, 也就是传地址
在函数调用时, 实参对象名传给形参对象名, 形参对象名就成为实参对象名的别名. 实参对象和形参对象代表同一个对象, 所以改变形参对象的值就是改变实参对象的值
像这样:
优点: 引用对象不是一个独立的对象,不单独占内存单元, 而对象指针要另外开辟内存单元,所以传引用比传指针更好用。
5. 默认参数
不要求程序在调用时必须设定该参数, 而由编译器在需要时给该参数赋默认值.
规则1:当程序需要传递特定值时需要显式的指明. 默认参数必须在函数原型中说明.
如果函数在main函数后面定义, 而在声明中设置默认参数, 在定义中不需要设置默认参数
像这样:
如果函数在main函数前面定义, 则在定义中设置默认参数
像这样:
规则2:默认参数可以多于一个,但必须放在参数序列的后部。
像这样:
可以有一个默认参数:void PrintValue;
可以是有多个默认参数:void PrintValue;
不可以在中间设置默认参数:void PrintValue;
规则3:如果一个默认参数需要指定一个特定值时,则在此之前的所有参数都必须赋值
6. 使用const保护数据
用const修饰要传递的参数, 该函数只能使用参数, 而无权修改参数, 以提高系统的自身安全.
像这样:
函数返回值
C++函数返回值类型可以是除数组和函数以外的任何类型
当返回值是指针或引用对象时, 需要注意函数返回值所指的对象必须存在, 因此不能将函数内部的局部对象作为函数返回值, 因为函数内, 局部变量或者对象在函数运行完毕后内存就释放了
1. 返回引用的函数
函数可以返回一个引用, 目的是为了让该函数位于赋值运算符的左边
格式: 数据类型 & 函数名;
像这样:
2. 返回指针的函数
返回值是存储某种数据类型数据的内存地址, 这种函数称为指针函数
格式: 数据类型 * 函数名;
像这样:
3. 返回对象的函数
格式: 数据类型 函数名;
像这样:
4. 函数返回值作为函数参数
如果函数返回值作为另一个函数的参数, 那么这个返回值必须与另一个函数的参数类型一致
像这样:
内联函数 1. 内联函数的概念
使用关键字inline声明的函数称为内联函数, 内联函数必须在程序中第一次调用此函数的语句出现之前定义, 这样编译器才知道内联函数的函数虚, 然后进行替换
像这样:
2. 注意
在C++中, 除具有循环语句, switch语句的函数不能说明为内联函数外, 其它函数都可以说明为内联函数.
3. 作用
使用内联函数可以提高程序执行速度, 但如果函数体语句多, 则会增加程序代码量.
函数重载和默认参数 1. 函数重载
一个函数名具有多种功能, 具有多种形态, 称这种我为多态性, 一个名字, 多个函数
函数重载要满足的条件:
参数类型不同或者参数个数不同
文章来源:《电脑编程技巧与维护》 网址: http://www.dnbcjqywh.cn/zonghexinwen/2020/0818/376.html
上一篇:工业新时代——工业机器人创造的“黑灯工厂”
下一篇:IEEE Spectrum编程语言排行:Cobol上榜,疫情
电脑编程技巧与维护投稿 | 电脑编程技巧与维护编辑部| 电脑编程技巧与维护版面费 | 电脑编程技巧与维护论文发表 | 电脑编程技巧与维护最新目录
Copyright © 2018 《电脑编程技巧与维护》杂志社 版权所有
投稿电话: 投稿邮箱: