zoukankan      html  css  js  c++  java
  • [导入]函数参数

    1.非引用形参通过复制实参值创建和定义函数的局部对象,从而对形参的操作不改变实参值。因为是复制初始化在形参前加const无影响。type function(type2 v)type function(const type2 v)是等价的。这一点在函数重载时也要注意,如果同时出现上述的两个函数则是重复定义而不是重载。

    2.引用形参是实参的别名,从而对形参的操作改变实参值。用途:第一,大型的参数通过复制初始化效率低时用引用参数;第二,对于一些不能复制初始化的参数;第三,可以通过增加形参返回额外的信息。 注意:type function(type2 v)type function(const type2 v)是不同的。

    3.const& :一般不需要修改实参时用const引用。这主要是考虑到非const引用形参的如下缺点:第一,传递的实参必须与形参类型完全相同,而不包含可以隐式转换的类型;第二,传递的实参不能是const,右值。

    4.指向指针的引用 type* &v

    5.(1)非引用数组形参int*, int[],int[n]。这三个是等价的,都传递指向第一个元素的指针。这样容易产生越界。如何防止越界呢?第一,通过结束标记检测数组的结束,如C风格字符串;第二,用标准库规范,传递第一个和最后一个的下一个元素的指针做参数;第三,显示传递数组大小的形参。

    5.(2)引用数组形参type (&arr)[n]; 注意两点:一是,圆括号是必须的,因为下标运算符的优先级更高;二是,表示数组元素个数的n是必须的,因为引用是数组别名,而数组是固定长度的。

    6.默认实参:第一要考虑位置,第二,如果提供实参,则它覆盖默认的实参值。
    文章来源:http://liyuxia-life.spaces.live.com/Blog/cns!DA1B364675ACF35!242.entry



    幸运草 2009-02-28 19:18 发表评论
  • 相关阅读:
    jq-demo-阻止冒泡,阻止默认行为
    jq-demo-轮播图
    jq-demo-点击选择(英雄联盟)
    jq-demo-tab切换
    jq-demo-拖拽
    hdu 4031 Attack 线段树
    codeforces 633C. Spy Syndrome 2 hash
    sublime模式下开启vim并修改esc
    codevs 1256 打鼹鼠 LIS
    codevs 1455 路径 计算m^n%p
  • 原文地址:https://www.cnblogs.com/liyuxia713/p/2540812.html
Copyright © 2011-2022 走看看