zoukankan      html  css  js  c++  java
  • C++之函数特性

    一、函数参数默认值
    1.有默认值参数值的参数必须在参数表的最右端 
    2.函数定义不写默认值,声明可写默认值
    3.无实参则用默认值,否则实参覆盖默认值
    二、函数重载
    1.定义:在相同作用域内 用同一函数名定义的多个函数 参数个数和参数类型不同
    2.思考:编译器如何识别重载的函数 
    三、内联函数
    1.关键字:inline
    2.内联编译是建议性的,又编译器决定 逻辑简单,调用频繁的函数建议使用内联 递归函数无法使用内联方式
    
    inline
    内联编译是建议性的,由编译器决定。逻辑简单,调用频繁的函数建议使用内联。递归函数无法使用内联方式。
    总结
    函数参数默认值 实参覆盖默认值。 函数重载 名称相同参数可变。 内联函数 效率高,由编译器决定是否使用
    inline 函数名
    for 和while循环不要用内联函数
    递归函数无法使用内联方式
    
    c++函数新特性:
    声明函数参数默认值:有默认参数值的参数必须在参数表的最右端(从右向左左边的可有可无参数)如:void fun(int i,int j=5int k)为错,(int i,int k,int j=5)为正确
    函数在声明时可以写参数默认值,但是在定义时不要写默认值
    函数在无实参时则用默认值,有实参时覆盖默认值
    
    函数重载:
    在相同作用域内,用同一个函数名定义多个函数,函数的参数个数或参数类型不同
    重载好处:比如求最大值(有时候要求两个数的最大值,有时候三个数),根据参数及返回值的不同调用最合适的函数
    
    内联函数:可以省掉2和4两个步骤的时间,定义内联函数inline 类型 函数名(参数)
    http://img.mukewang.com/55864f5f0001f94612800720-120-68.jpg
    内联函数只是建议性的,要不要内联由编译器决定
    逻辑简单(不包含循环),调用频繁的函数建议使用内联
    递归函数无法使用内联方式
    
    如果函数形参有默认值,则参数列表中最右边的参数必须有默认值!!!!
    在函数声明时可以有函数参数默认值,但是在函数定义的时候最好不要带默认值!
    函数重载,表现在函数返回类型,形参类型、个数
    内联函数,关键字inline,调用时相当于把函数代码在调用函数中展开,节省了调用时间和返回时间,效率高,但是注意递归函数无法作为内联函数。。。
    无欲则刚 关心则乱
  • 相关阅读:
    asp.net(C#)页面事件顺序
    C#多线程学习 之 线程池[ThreadPool]
    JS 获取浏览器窗口大小
    关于Json的那点事
    jquery 动态滚动
    Null,DBNull,String.Empty 区别 C# 转载
    js图片大小限制,设置
    mysql 自定义函数获取两点间距离
    KindleConverter:Word批量转换为6寸PDF
    在 Asp.NET MVC 中使用 SignalR 实现推送功能
  • 原文地址:https://www.cnblogs.com/xjyxp/p/11236416.html
Copyright © 2011-2022 走看看