目录
概括
参数传递机制:值传递、指针传递、引用传递
实参求值副作用
大概就是编译器有不同的机制。程序员尽量再调用函数之前执行修改变量数值的表达式。
默认参数
在形参里可以设置默认参数,如果实参没有明确赋值则使用默认参数,如果实参有赋值则用实参的。
指针参数(指针作形参)
返回类型可以不是指针,形参是指针。需要传递地址!
可以改变实参的值
引用形参
可以改变实参的值
传递一个变量进去!!然后形参就是这个变量的别名,编译器不需要开辟存储空间
int*&作形参
不需开辟存储空间,所以返回类型可以是空类型void
传一个指针变量进去!!
指针函数(不是作形参,是作返回值类型)
返回一个指针变量,在main函数中可以作间址操作输出该指针变量所指对象的数值。
形参应该可以是其他吧。。。
不能返回局部变量的指针,因为局部变量在函数执行完以后就会消失。
但可以将它弄成非局部变量(全局变量)和静态变量。(static)
例题:定义一个函数,返回较大值变量的指针
#include<iostream>
using namespace std;
int* fact(int* x,int*y)
{
if (*x > *y) return x;
else return y; //返回的是一个指针类型的
}
int main()
{
int a, b;
cin >> a >> b;
cout<<*fact(&a,&b); //返回的是一个地址值,所以还要间址操作取值
return 0;
}
引用函数
同上,也不能返回局部变量
C++函数参数详解:值传递、指针传递与引用传递
这篇博客介绍了C++中函数参数传递的三种方式:值传递、指针传递和引用传递。详细讲解了实参求值副作用、默认参数、指针参数、引用形参以及int*&作形参的情况。同时,提到了指针函数作为返回值类型的应用,并强调了避免返回局部变量指针的重要性。最后,讨论了引用函数的特点。
1640

被折叠的 条评论
为什么被折叠?



