vector中不能存放引用类型!!!!!!!!

vector中不能存放引用类型!!!!!!!!

关于 vector 中不能存放引用,这是一个在初始C++时候就应该知道的问题,但是我居然没注意,还好及时发现了。

《C++ primer》上说 vector 中不能存放引用的原因是:引用不支持一般意义上的赋值操作,而 vector中元素的两个要求是:

1.元素必须能赋值

2.元素必须能复制

int a = 1;

int c = 2;

int & b = a;

b = c;

如上述例子中 ,b = c,不是一般意义上的赋值操作,因为 b 元素时不存在的,对 b 元素取地址,取到的是 a 的地址,此处的赋值操作也会将值赋给 a,而不是 b 本身,因此,vector 的元素不能是引用

我自己试了一下,将发现在 vector 中存放引用报错的原因类似如下:

int & * p;

即,不允许定义引用类型的指针。

相关推荐

声乐每天需要练多久
beat365倍率

声乐每天需要练多久

📅 07-27 👁️ 3553
(收藏)【 数字化客户体验】NPS、CSAT和CES——2020年跟踪的客户满意度指标「建议收藏」
问道手游老君发怒了怎么办老君发怒解决方法,问道手游老君发怒终极解决方案,从机制解析到实战应对全指南