永发信息网

为什么不能给vector<int> a; [0] =5; 为什么不能直接赋值

答案:2  悬赏:20  手机版
解决时间 2021-02-07 14:39
  • 提问者网友:缘字诀
  • 2021-02-07 10:09
为什么不能给vector<int> a; [0] =5; 为什么不能直接赋值
最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-02-07 11:26
可以这么理解
vector a;
并没有开辟一段存放数据的空间,这时候 a.size() 为0,换个角度,如果一个数组大小为0,必然不能往这个数组里写数据
两种方式
一种是push_back()
vector a;
a.push_back(0);
a.push_back(1);
这时候a[0] == 0, a[1] == 1
另一种是在定义vector的时候指定一个大小
vector a(10, 0);
a[0] = 1;
将a[0]的值由0改为1
全部回答
  • 1楼网友:野慌
  • 2021-02-07 11:37
vector>a;过去c++总是把两个连续的>看作右移位运算符,因此会导致错误,不过新标准使得不加碍眼的空格也能以“正常”方式识别……
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯