Chinaunix首页 | 论坛 | 博客
  • 博客访问: 518751
  • 博文数量: 96
  • 博客积分: 2102
  • 博客等级: 上尉
  • 技术积分: 1695
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-11 22:12
文章分类

全部博文(96)

文章存档

2014年(2)

2012年(94)

分类: C/C++

2012-06-01 20:40:42

  • 函数定义:函数由函数名以及一组操作数类型唯一的表示。函数的操作即形参,在一对圆括号内声明,形参和形参之间必须读好分隔。函数执行的运算在一个称为函数体的块语句中定义。每一个函数都有一个相关的返回类型。其中函数的返回类型可以是内置类型、类类型、复合类型,还可以是void类型,表示函数不反回任何值。# 函数不能返回里一个函数或者内置数组类型,但是可以返回函数指针,或者指向数组元素的指针的指针 @ 在C++中必须指明返回值的类型,因为在C++中没有默认的返回类型。
  • 参数传递:1、非引用形参:是通过复制对应的实参实现初始化。当用实参副本初始化时,函数并没有访问调用所传递的实参本身,因此不会修改实参的值;指针形参:函数的形参可以是指针,此时将复制实参指针。与非引用类型的形参一样,该类型形参的任何改变也仅用于局部副本;const形参:如果需要保护指针指向的值,则形参需定义为指向const对象的指针;2、引用参数:对于不适宜复制的实参,则使用引用;利用const引用避免复制。3、传递指向指向指针的引用:即指向指针的引用.
    1. void ptrswap(int *&v1, int *&v2)
    2. {
    3.  int *temp=v2;
    4.  v2=v1;
    5.  v1=tmp;
    6. }
    4、数组形参:对于类型是数组形参,需要注意形参的长度:可以传递开始指针和结尾指针或者使用。对于引用传递数组,编译器不会将数组实参转换为指针,而是传递数组本身。
  • 默认实参:调用函数时,可以省略有默认参值得实参。编译器会为我们省略的实参通过默认值。
  • 内联函数:将函数指定为内联函数,就是将它在程序中每个调用点上“内联地”展开,在程序中避免函数调用时用到的栈的开销。关键字:inline。内联说明对于编译器来说只是一个建议,编译器可以选择忽略这个建议。对于内联函数应该放在头文件中。
  • 类的成员函数:成员函数包 1、函数返回类型 2、函数名 3、用逗号隔开的形参表 4、包含在一对花括号里面的函数体。对于每个成员函数都有一个额外的、隐含的形参this。
  • 重载函数和重复声明:如果具有相同的名字而形参表不同。如果两个函数声明的返回类型和形参表完全匹配,则将第二个函数视为第一个重要的声明。如果两个函数的形参表完全相同,但是返回类型不同,则第二个声明是错误的。
    1. 对于重载确定的三个步骤:
    2. 候选函数:
    3. 选择可行函数
    4. 寻找最佳匹配
    5. 含有多个形参的重载确定

阅读(3049) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~