基础
形参和实参:
参数类型和数量必须对应(类型可以转换,比如double -> int)
为了和C语言兼容,没有形参时可以写上void
函数的返回类型不能是数组或函数类型,但可以是指向数组或函数的指针
局部对象
形参和函数体内定义的变量统称为局部变量,函数结束时会销毁
局部静态对象:用static修饰,直到程序结束才会被销毁
**参数传递
形参初始化的机理和初始化变量一样。分为值传递和引用传递。区别:传递非引用的参数时会进行拷贝
数组形参
两个性质:不允许拷贝数组(不能以值传递传递数组) 和 使用数组时会将其转换成指针。
main
int main(int argc , char *argv[]){...}
第一个参数表示字符串的数量,因为第二个形参是数组,所以定义等价为int main(int argc , char **argv){...}
其中argv指向char*
可变形参
initializer_list
返回数组指针
int (*p2)[10] = &arr; //p2指向arr
int (*func(int i))[10];
表示解引用函数调用结果将得到一个大小为10的int型数组
构造函数
构造函数的任务是初始化数据成员。
1.构造函数没有返回类型
2.类可以包含多个构造函数(类似重载函数)
3.构造函数不能声明成const
