zoukankan      html  css  js  c++  java
  • 关于函数的特殊用途的语言特性的注意事项

    1、默认实参就是函数在反复多次调用,赋予的值相同。反复出现的值就是默认实参。该实参可以包含也可以省略。一旦某个形参被赋予了默认值,其后面的所有形参都必须有默认值

    2、一旦函数的形参提供了默认形参,调用该函数时,可以不提供任何参数。若想要给某个位置的形参修改参数,那么这个位置前面的形参,都要提供默认实参。

    3、尽量将不怎么使用默认值的形参写在前面,经常使用默认值的形参写在后面。在给定的作用域内,一个形参只能被赋予一次的默认实参,并且该形参右侧的所有形参都必须有默认值,为了防止程序出现二义性

    4、通常应该在函数声明中指定默认实参,并将声明放在合适的头文件里。

    5、局部变量不能作为默认实参,除此之外,只要表达式的类型能转换成形参所需的类型就能作为默认实参

    6、若在内层作用域内重新声明了外层作用域的同名变量,那么外层的同名变量就会被隐藏,但是若这个变量是作为一个函数的默认实参,那么默认实参的值还是是外层作用域的变量值。

    7、机器在调用函数时,会出现一定的开销。将函数设置为内联函数可以避免函数调用的开销,也就是说设置为内联函数的话,函数在调用时,会在调用点内联的展开,这样就避免了函数调用的开销。inline内联说明只是向编译器发出一个请求,编译器可以选择忽略这个请求。

    8、一般内联函数适合频繁调用,函数规模小的,不适合或者不支持内联递归函数。

    10、constexpr函数是指作用于常量表达式的函数。定义该类函数有几项约定:函数的形参值、返回类型必须是字面值类型,并且函数体内部有且只有一条return语句constexpr函数被编译器隐式地指定为内联函数

    11、constexpr函数体内也可以包含其他语句,只要这些语句运行时不执行任何操作就行。并且允许函数的返回值并非是一个常量,就是说返回值不一定是常量表达式

    12、内联函数和constexpr函数可以多次定义,这点与其他函数不同。但是对于给定的内联函数和constexpr函数,函数的定义必须保持一致

  • 相关阅读:
    树莓派系统Raspbian安装小结
    树莓派安装centos 7系统
    Ubuntu下安装SSH服务
    使用xUnit为.net core程序进行单元测试(4)
    使用xUnit为.net core程序进行单元测试(3)
    使用xUnit为.net core程序进行单元测试 -- Assert
    使用xUnit为.net core程序进行单元测试(1)
    用 Identity Server 4 (JWKS 端点和 RS256 算法) 来保护 Python web api
    asp.net core 2.0 查缺补漏
    "软件随想录" 读书笔记
  • 原文地址:https://www.cnblogs.com/Dark-King/p/9488761.html
Copyright © 2011-2022 走看看