C 矢量的表现不像我想象的那样直观

C++ Vectors not performing as intuitively as I thought

本文关键字:直观      更新时间:2023-10-16

我一直在尝试学习如何在C 中使用向量,并且在Java中看起来更复杂。为了将项目添加到向量,我必须使用迭代器。我想做的就是像Java一样使用添加删除功能并循环循环。这可能吗?我正在尝试实现以下错误的行,下面标记了一个错误:插入(索引3,编号13),但这会引发错误。预先感谢。

  vector<int> myvector(0,0);
  vector<int>::iterator it;
  it = myvector.begin();
  int q = 0;
  for(it=myvector.begin();q<16;q++){
      it = myvector.insert (it, q);
  }   
 myvector.insert(3,13); //ERROR

您在如何填充向量的上方有建议。

如果您想在特定索引上插入某些东西,则可以执行以下

//similar to myvector.insert(3,13); //ERROR
myvector.insert( myvector.begin()+3, 13);

上面的代码将在元素#3之前插入13

to 用13替换元素#3,您只需使用

myvector[3] = 13; 

这是您可以在其中了解C STL(标准模板库)的链接,例如:vector,queue,stack,list等。