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 能够节省空间 提高运行效率