理解c/c++指针和引用

1 指针的指针

比如int* a,那么a是指向一个int型的对象的。也就是说,*前面的类型是该指针指向的对象的类型。

同理int** a的话,a指向一个int*型的对象,也就是说,它指向的对象也是一个指针,这个指针指向一个int型的对象。

所以,对于有两个星号的指针,那么第二个指针表示这是一个指针,然后它前面的部分就表示该指针指向的对象的类型。

2 引用

2.1 引用只能被初始化,不能被赋值

2.2 c++ 11标准对引用的禁令

引用不能指向引用

不能有引用数组

指针不能指向引用

c++标准为什么这么规定?

2.3 为何vector中不能放引用

vector的push_back()的参数本身就是引用,如果再传一个引用给它的话,那么就是引用的引用了。这个违背了c++标准。

2.4 什么时候用引用

引用只适合在函数之间传递在堆上面分配的内存的对象。只是传递一下,其它事情就不能做了。

 

posted @ 2017-04-14 14:40  PhoenixTree(梧桐树)  阅读(152)  评论(0编辑  收藏  举报