C++函数

本篇介绍C++函数,主要介绍函数的定义、函数形参传递方式以及匿名函数。

/*
* Author:W;
* 函数
* 1.定义声明
* 2.函数参数3种传递方式:值、引用以及指针
* 3.匿名函数Lamda表达式
*/

//引入头文件:头文件包含了程序中必需的或有用的信息
#include <iostream>

using namespace std;

//函数声明
void methodByValue(int v);
void methodByPointer(int* p);
void methodByReference(int& ref);

//main程序执行入口函数
int main()
{	
	//函数的形式参数传递方式列举
	int p = 5;
	cout << "===函数形式参数传递===" << endl;
	cout << "P="<< p << endl;
	methodByValue(p);
	cout << "P=" << p << endl;
	methodByPointer(&p);
	cout << "P=" << p << endl;
	methodByReference(p);
	cout << "P=" << p << endl;

	//匿名函数:[capture](parameters)->return-type{body}
	//C++变量传递有传值和传引用的区别。可以通过前面的[]来指定
	//[]      // 沒有定义任何变量。使用未定义变量会引发错误。
	//[x, &y] // x以传值方式传入(默认),y以引用方式传入。
	//[&]     // 任何被使用到的外部变量都隐式地以引用方式加以引用。
	//[=]     // 任何被使用到的外部变量都隐式地以传值方式加以引用。
	//[&, x]  // x显式地以传值方式加以引用。其余变量以引用方式加以引用。
	//[=, &z] // z显式地以引用方式加以引用。其余变量以传值方式加以引用。

	cout << "===匿名函数===" << endl;
	auto maxFun = [=](int a, int b)->int { if (a > b){return a;} else{ return b;} };
	int c = maxFun(2,5);
	cout << "C = " << c << endl;
}

//通过值传递参数
void methodByValue(int v)
{
	cout << " =methodByValue= "<< endl;
	v = 10;
}

//通过指针传递参数
void methodByPointer(int* p)
{
	cout << " =methodByPointer= " << endl;
	*p = 9;
}

//通过引用传递参数
void methodByReference(int& ref)
{
	cout << " =methodByReference= " << endl;
	ref = 12;
}


运行结果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Data菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值