随笔1

作者: 0b5b90259598 | 来源:发表于2017-12-01 09:24 被阅读0次

c++ 指针和引用的区别

1 指针是指向一个地址,未初始化的指针没有分配内存,那么此时此时直接使用指针是危险的,所以在使用指针之前最好判断是否为空.

2 引用则是指向一个对象,对象必然是有地址的,那么此时,就不需要考虑指针的问题了。

例子:

指针:                          引用:

int bb;                          int bb;

int *a;                            int& a = bb;

*a = bb;

c++ 左值引用和右值引用

左值就是有名字的对象,右值就是没有名字的对象.

在传递参数或者是赋值的时候,我们总是需要拷贝构造一个新的对象。如果原有对象资源占用比较大,并且,我们在函数中不会对其修改,我们可以直接传递一个引用过去,这样保证不需要重新申请一块空间去存储这个对象。

但是对于一个右值对象来说,出现之后,离开作用域就会被销毁,因此没有办法去使用左值引用的这个方法,所以,这个时候,使用右值引用(&&),此时等于使用一个新的变量指向其地址,然后,将其地址修改,因为右值对象自己会销毁自己。

例子:http://blog.csdn.net/xiaolewennofollow/article/details/52559306

相关文章

网友评论

      本文标题:随笔1

      本文链接:https://www.haomeiwen.com/subject/yvsibxtx.html