C++prime第五章 函数

本文介绍了C++中的编程细节,包括局部静态变量的作用、按值和按引用传递参数的区别、使用const修饰形参、初始化列表和sum函数、引用的使用、左值赋值、递归的退出条件、函数重载规则以及内联函数的优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

main 为主调函数

局部对象

 静态变量只被初始化一次,后面依旧存在(类似全局变量)

 但是局部静态变量也是作用在作用域内,在其他就是未定义检测不到。

 

按值传递   按引用传递(相当于操作实参)

 

形参最好加上const 如 void  test(const string &s);

1.可以防止修改  2.能接受 const 和非const变量 

 这种方式有缺陷 因为限制了10个元素 不经常用

 二位数组的传递

 注意:swap1,swap2,swap3的区别

swap1 只是交换了内部pt1,pt2的地址 但外面的地址并没有改变

swap2交换了地址中存放值的顺序

swap3 采用指针引用 这样可以交换地址

 

main函数传参数 

 lst里面每个元素都是常量,不能修改

#include<iostream>
using namespace std;
#include<initializer_list>
int sum(initializer_list<int> ilist);
int main(void)
{
	initializer_list<int>l1{ 1,2,3 };//定义
	cout << "add together:" << sum(l1) << endl;//传递l1
	return 0;
}
int sum(initializer_list<int> ilist)
{
	int sum = 0;
	for (auto& val : ilist)
	{
		sum += val;
	}
	return sum;
}

 用引用的目的:1.避免浪费空间(非引用要拷贝)2.修改值

return

左值赋值运算符左侧 

 递归一定要有退出条件

 int *是指数组里面单个元素的地址 然而 typedf int arr[10];         

arr*是指整个数组的地址 所以返回数组用arr*

 

函数重载:

只看函数参数个数和类型 

默认实参

注意:函数声明的时候加默认值,定义的时候不要加

 

内联函数 返回值前面加inline 能够节省空间 提高运行效率

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值