首页文章正文

右值可以赋值给左值吗,重写只要求参数列表相同

代码赋值是从右往左吗 2023-12-08 13:34 827 墨鱼
代码赋值是从右往左吗

右值可以赋值给左值吗,重写只要求参数列表相同

右值(相对应的还有左值)是从C语言设计时就有的概念,但因为其如此基础,也是一个最常被忽略的概念。不严格的来说,左值对应变量的存储位置,而右值对应变量的值本身这个赋值语句很简单, 作为分界线,左边的age 是左值,可以被赋值,可以取地址,它其实就是一个表达式,代表一个可以存储整数的内存地址;右边的18 也是一个表达式,明显只能作为

右值不能被取地址,也不能被修改。右值可以出现在赋值符号的右边,但是不能出现在赋值符号的左边:intmain() { doublex=1.1,y=2.2; //常见右值10; x+y; fmin(x,y); //错误示例(右值独占指针(unique_ptr):独享所有权的智能指针,资源只能被一个指针占有,该指针不能拷贝构造和赋值。但可以进行移动构造和移动赋值构造(调用move() 函数),即一个unique_ptr 对象赋值

通常情况下左值都是可以放在赋值运算符的左边,当然也可以放在赋值运算符右边,右值只能放在赋值运算符的右边。通常:常量是右值,运算过程中临时值也是右值。以,右值是能够赋值给左值,但是左值不能赋值给右值。

或者左值就是在程序中能够寻值的东西,右值就是一个具体的真实的值或者对象,没法取到它的地址的东西(不完全准确),因此没法对右值进行赋值,但是右值并非是不可修改的,比如自己定义的在C++11中所有的值必属于左值、右值两者之一,可以取地址的、有名字的就是左值,反之,不能取地址的、没有名字的就是右值。左值:占据内存中某个可识别位置的对象

const int*p;/指向常量的指针,p值可以变,p指向的数值内容不可变

int const*p;/常量指针p赋值运算左边的操作数,以及任何自增或自减运算符(++ 和--)的操作数,不仅应该是左值,还应该是可修改的左值。可修改的左值,其类型不可以被声明为限定符const,并且可修改的左

后台-插件-广告管理-内容页尾部广告(手机)

标签: 重写只要求参数列表相同

发表评论

评论列表

51加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号