• 第七章:函数


    1:形参:是一个变量,它作用域在于本函数,实参:是一个表达式,它是给形参初始化的

    2:对于需要改变实参内容时,c++偏向于使用引用,即给其取别名;在调用时初始化。

    3:引用变量,定义时必须初始化,但是对于是形参时,应该理解成,在调用时才进行初始化的,故而没有定义时就确定;类似的还有常量形参。

    4:const形参是比非const形参要灵活的,因为非const形参函数不能调用const实参,以及字面值

    5:数组不能成为函数形参,因为数组不支持复制,而且数组名自动转为指针,函数有其形参形式;实质是不能传递数组的。

    6:注意,对于数组3形式中的长度限制,其实没有意义,因为编译器是不会检查数组长度的。

    7:这里就得注意了,数组传参时,由于它的名字自动转为指针,所以实质就是传递指针,----这是对于非引用类型时

    8:对于引用时,数组不会编译成指针了,而是数组本身的引用。这时形参的数组大小必须与实参数组大小一致,不能是不确定,形式如下int (&arr)[n]。

    9:对于省略符形参,利用va_list类型和va_start、va_arg、va_end;用va_list表示栈,va_start获取第一个参数,出栈第一个;接着用va_arg不断获取栈内数据,获取完后,用va_end表示获取完毕;对于va_arg第一个参数是栈,第二个是获取数的类型;对于va_start第一个参数是栈,第二个是函数的第一个形参用来获取实参;va_end只有一个参数是栈。

    10:注意,调用省略符号的函数时第一个参数不应该是引用形式参数。

    11:main的成功与否,想独立与机器,则用头文件中的cstdlib中的EXIT_FAILURE和EXIT_SUCCESS。

    12:返回值不是引用时,是返回值复制给临时对象,可以有局部变量;若是引用则不是复制值,不能是局部变量;临时对象出现在函数调用处。

    13:引用返回值是左值,理解为函数调用处是构造了一个临时对象,而该对象是某个值的引用,相当于一个引用变量,故而可以被赋值;而若不是引用返回值,则返回只是个临时对象,则过了此句后会自动注销的,故为右值。

    14:默认实参,若在声明中指定,则包含该头文件就可以用;但是若在定义中指定,则只是在该文件源中生效,建议放头文件中。

    15:内联函数定义放在头文件中,可以多次定义,但是同文件源中只有一次。

    16:函数指针中,对于直接引用函数名字和在函数名取地址符是等效的,但是在作为某个返回值时,不能自动转为地址了。

  • 相关阅读:
    MAVEN 安装与配置
    MAVEN 常用仓库地址
    一些常用的工具
    springFramework 源码学习之源码下载与编译
    测试工程师学习笔记
    什么是多态
    聚簇索引与非聚簇索引
    正则表达式菜鸟教程
    我的第一篇博客
    转Hibernate继承
  • 原文地址:https://www.cnblogs.com/miner007/p/4042301.html
Copyright © 2020-2023  润新知