C++_CH05_函数

C++_CH05_函数

1.1函数是什么

规则f有一个适用范围D,输出范围R

f:D ——> R

若x在D当中则:

f(x) = y

y在R当中。

1.2programming当中的函数

避免代码重复使用,将一部分代码封装成一个函数。
函数需要传入的参数和返回值的规定。

#include<iostream>

int Multiply(int a,int b)
{
	return a*b;
}

int main()
{
	int res = Multiply(3,5);
	std::cout<<res<<std::endl;
	std::cin.get();
}

output:

15

如果我们要输出多个相乘的结果,还是会有点麻烦:

#include<iostream>

int Multiply(int a,int b)
{
	return a*b;
}

int main()
{
	int res1 = Multiply(3,5);
	std::cout<<res<<std::endl;
	
	int res1 = Multiply(4,6);
	std::cout<<res<<std::endl;

	int res1 = Multiply(12,34);
	std::cout<<res<<std::endl;
	std::cin.get();
}

我们可以连同打印,一并封装一个函数:

#include<iostream>

void MultiplyandPrint(int a,int b)
{
	int res = a*b;
	std::cout<<res<<std::endl;
}

int main()
{
	MultiplyandPrint(5,6);
	MultiplyandPrint(7,6);
	MultiplyandPrint(8,6);
	MultiplyandPrint(9,6);
	MultiplyandPrint(10,6);
	MultiplyandPrint(11,6);
	std::cin.get();
}

output:

30
42
48
54
60
66

但是不要把所有代码都封装成函数,这样会很难维护,并且看起来很乱。
因为我们封装函数的时候要把函数和返回值压入内存中的栈区(stack)。这样就会反复在内存和执行中跳跃,这都需要时间。

1.3可以不返回值吗

如果函数前面是除了void之外的,都需要返回值:

int multiply(int a,int b)
{
	a*b;
}

int main()
{
	int res = multiply(3,4);
}

会报错。

当然main前面也是int,不返回值却可以。main是唯一不需要遵循此规则的函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值