C++基础 —— (08)C++14 函数、左值右值
»
    C++中函数的定义方式和C语言中的函数的定义方式一致。在函数的定义中,首先是返回值类型,后面是函数名,然后是括号,括号内是参数类型和参数名,最后紧跟着函数体的代码块。比如:
int main(int argc, char* argv[]){
    return 0;
}

    要注意的是,在C++14和C99中,函数的尾部参数可以有默认值,这样,在函数调用过程中就可以以更少的参数列表来调用同一个函数。

    对于函数的返回值类型不是void的函数,函数体内仍然可以不返回任何值,此时函数的返回值为该数据类型的一个随机值,这就是函数体返回值的默认右值。

    左值:可以通过一个名字访问到的内存数据。
    右值:除了用地址,没有一个特定的名字访问到的这个值。

    左值有Label,Label消除左值就会销毁、就会析构;右值没有Label,赋值操作结束、没有Label保持右值,右值就会自动销毁、就会自动析构。
    在右值赋值给未初始化的Label变量时,修改的是Label指向的地址,程序会直接修改Lable指向的地址到右值所在地址。右值的接收必须使用一个未初始化的Label变量接收。C++中唯一的右值就是函数的返回值空间。
    当右值赋值给一个已经初始化的Label变量时,会调用该变量的移动赋值函数来移动右值对象的成员数据到此Label变量,随后,右值自动销毁。


«
——张人杰·www.v-signon.com学习者共勉
返回上一页
备案号:京ICP备19038994号-2
个人作品网站:www.up-task.com 主办:个人 English
网站内容如有侵权,请联系删除:1307776259@qq.com