c++笔记
文章平均质量分 57
Rye酱
codest winter
展开
-
左值和右值(1)——本质上区分(c语言)
如果仅仅从在等号的左边和右边来看,比较单薄1. lvaluelocator value:lvalue是对一个变量的身份识别,这个变量必须在内存中能够被追踪到(它必须在内存有固定住所)live value:区分某些temporary的变量,lvalue生存特征在于你知道它是一定存在的,并且大部分是可以对它进行修改的(不然为什么通常放在等号左边)in case you don’t know: 有些左值无法修改(不是在等号左边)e.g.不可以对数组名进行赋值,不可以对const修饰的左值赋值,不可以原创 2021-05-04 13:12:36 · 117 阅读 · 0 评论 -
c++中operator overloading——拷贝赋值的具体实现
1.overloading assignment operator1.首先需要区分一下copy constructor(拷贝构造)和 copy assignment(拷贝赋值)sidenote:这里是引用的一个生活例子来区分各种constructor。copy constructor就好像是你拿了一个具体的物品并且对店员桑说“要一个跟这个一摸一样的”,这样就得到了一个新的物品。注意:你新获得一个object,而copy assignment是不产生新的object。2.为什么需要copy assign原创 2021-05-04 11:30:18 · 185 阅读 · 0 评论