C++ 总体内容(2)

1 设计类,求圆的周长

2 内联函数

  2.1 内联函数的引出====>函数宏的缺陷

    2.1.1 必须保证运算完整性,加括号

    2.1.2 即使加了括号,有些情况依然和你预期结果不符,比如++i

    2.1.3 宏函数,也不重视作用域

  2.2 内联函数,关键字:inline

  2.3 函数声明和实现必须同时加上inline,才算内联函数的

  2.4 类内部成员函数,默认加上inline关键字

  2.5 内联函数和编译器的关系

    2.5.1 加入内联关键字后,知识对编译器的一个建议,有些情况下编译器依然不会按照内联方式处理函数

    2.5.2 循环,判断,函数体过于庞大,对函数取地址,不会按照内联处理

    2.5.3 一个好的编译器,会将短小的函数,隐藏的加入inline关键字

3 函数的默认参数以及占位参数

  3.1 默认参数

    3.1.1 在形参后面 = 默认值

    3.1.2 如果参数列表中,有一位置有了默认参数,那么从这个位置起从左到右都必须有默认参数

    3.1.3 函数的声明和实现,只能有一个有默认参数

  3.2 占位参数 ==== 会在符号重载的时候用到

    3.2.1 函数参数列表中(int)只写类型,调用必须要传入参数调用

    3.2.2 占位参数也可以有默认参数(int = 0)

4 函数重载

  4.1 重载需要的条件

    4.1.1 同一个作用域,函数名称相同,函数参数的类型 或 个数 或 顺序不同

  4.2 函数的返回值,不可以作为函数重载的条件

  4.3 引用 加入 const 和 不加 const 也可以作为重载条件

  4.4 函数重载碰到函数默认参数   也需要注意避免二义性

原文地址:https://www.cnblogs.com/chen-cai/p/10464567.html