说明:
本文是作者的一点总结,对所学的回顾与记录,如有不妥之处,欢迎大家指正,并且讨论交流。
1、函数是面向过程编程的基础,将一个个功能封装成函数调用,可以更好的阅读程序,典型函数由四个部分组成:返回类型、函数名,形参列表以及函数体,没有函数体的声明一般称作函数原型,函数与变量一样必须先声明或定义,再使用。建议声明与定义分开,头文件中声明,然后引入定义。
int main(int argc,char **argv)
{
std::cout<<"hello,world"<<std::endl;
return 0;
}
2、函数形参以及函数体定义的变量问题,为局部变量,函数变量会在函数结束时自动销毁,注意生命周期,如果想存在于程序结束,用static修饰。
3、c++函数参数传递有三种形式,传值调用、传址调用以及传引用调用,注意指针的使用,C常用指针来访问函数外部类型,C++中建议用引用,使用引用可避免拷贝。数组作为参数传递时,数组传递的是指向数组的首地址,要注意不要越界。
4、函数参数可以为常规参数,默认参数以及不确定数量参数;注意参数的匹配,如果全部的实参类型都相同,可以用initializer_list类型,T代表任意类型。
void lihuan(initializer_list<T> name)
{
for(auto beg=li.begin();beg!+li.end();++beg)
std::cout<<*beg<<std::endl;
}
5、函数返回类型要与return相对应,实参与形参数量与类型也要相对应,函数体可以为空,形参列表可以为空,可以不返回值void来表示。return返回函数值,不要返回局部对象的引用或者指针,释放空间可能出错。
6、函数的递归调用与数据结构相结合,函数可以重载,C++会自动进行匹配,要注意区分,不要有二义性。
7、规模较小的函数可以定义为内联函数inline,常量表达式函数constexpr;返回函数的指针与返回指针的函数。
共勉:多多练习编程,自己写与看别人的代码,适当的应用不同的情况,不要死脑筋,要写好注释,良好的注释会帮助到你,一般包括名称,时间,作者,功能描述,怎么使用,联系方式,当然看你情况选择了。最近在看代码,没有注释,想要看懂太难了。要有一个良好的代码组织形式,养成良好的编程习惯。