- 博客(10)
- 收藏
- 关注
原创 【c++】右值引用
对于出了作用域就销毁的对象,函数传返回值时,会发生两次拷贝构造(return时先将返回值拷贝给一个临时变量,再由临时变量拷贝给函数返回值的赋值对象)。右值不在内存中占有确定地址(不是不占地址,只是我们找不到),不可以获取它的地址,通常是不可改变的值,它只能在赋值符号的右边。对于参数类型是右值引用的函数,我们在传右值时,右值引用会改变右值的特性,将其变为左值。右值引用:只能引用右值,左值可以通过move(左值)转换为右值,继而使用右值引用。有了移动构造之后,函数返回右值(move(左值)),可以实现0拷贝。
2024-02-28 20:04:50
820
原创 【c++】拷贝构造函数
拷贝构造函数是构造函数的一种重载形式,它可以用来创建一个与已存在对象一模一样的新对象。对于拷贝构造,它只有单个形参,且该形参必须是对本类类型对象的引用,由于是引用,需要加const进行修饰。
2024-02-27 15:34:17
342
原创 【c++】值传递、引用传递和指针传递
指针本身是一个变量,存储的是一个地址。引用和原来的变量实质上是同一个东西,相当于变量的“别名“。因此,当把指针作为参数传递时,也是将实参的一个拷贝传递给形参,两者指向的地址相同,但不是同一个变量,在调用函数中改变形参指针的指向不会影响实参。
2024-02-23 14:53:11
382
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人