读书人

一个STL标准库中容器的使用有关问题

发布时间: 2012-04-01 17:23:46 作者: rapoo

一个STL标准库中容器的使用问题
STL标准库中,使用容器的时候,加上一个&是什么意思?
比如:
vector <int> & goal;

与vector <int> goal;有什么不同呢?

谢谢解答!


[解决办法]
加上一个&表示goal变量是一个引用,所以
vector <int> & goal;
表示goal是一个指向vector <int> 类型的引用

vector <int> goal;
表示goal就是一个整型的vector
[解决办法]
如上面所说,一个是引用传入变量的内存空间,对传入变量的内存块直接进行操作
而没有&表示要重新生成一个int型向量,意味着重新分配内存块
[解决办法]
vector <int> & soal;
vector <int> goal;

soal是指向int型的vector一个引用,goal是一个int型的vector.
soal = goal;后 soal就是goal的一个别名,对soal的操作等同于对goal的操作
[解决办法]
同意楼上的观点,加&是引用
但是好像引用变量的上命需要初始化的,就是说必须写成
vector <int> myVec2;
vector <int> & myVec1=myVec2;
而且之后就不能在改变myVec1所指向的内存空间了

读书人网 >C++

热点推荐