矢量中的位置值
position value in vector
本文关键字:位置 更新时间:2023-10-16
我想在位置-1的矢量对象中插入一个int值,即:
vector<int> v;
int p = 12;
vector<int>::iterator it = -1;
v.insert(it,1,p);
这在c++中可能吗?或者它一定总是积极的?
使用insert
方法插入总是发生在指定迭代器之前,因此要在第一个位置插入(即当前第一个元素之前的*),请使用:
v.insert(v.begin(), p);
(如果只插入一个元素,则可以省略count
参数)。
可以使用类似的end()
迭代器在最后一个位置进行插入
v.insert(v.end(), p);
或者,在矢量的情况下,使用类似push_back()
的
v.push_back(p);
对于访问矢量,只能使用非负索引,即v[-1]
无效。
此外,您不能将整数分配给迭代器,主要是因为迭代器同时封装了位置和它所引用的容器。如果您想为指定位置"构造"迭代器的话,请使用以下添加项:
std::vector<int> it = v.begin() + index;
(注意,添加迭代器只适用于所谓的随机访问迭代器,因此这取决于容器类型。)
这是不可能的。vector
-索引必须大于或等于0。如果您想要负索引,则必须使用std::map
。
矢量索引从零开始。因此,不存在所谓的"位置-1"。
如果要在矢量的起点插入元素,请使用v.begin()
作为插入位置。
Vectors表示索引,并且索引不能为负数。
始终为正。你这样做:
v[2] = 5;
只是一个例子。索引不能为负数,因为它是一个位置。负面立场并不存在。
相关文章:
- 将值指定给向量(2D)的向量中的某个位置
- 使用Unreal C++获取VR耳机的世界位置/方向
- 写入位置0x0000000C时发生访问冲突
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 如何使用cudaMallocManaged在指针位置初始化对象?(C++)
- 无法获取webot::PositionSensor对象中位置传感器的值
- 非常量变量只读位置的赋值
- 如何定义更改car类中car位置的方法
- 使用迭代器时如何访问对象在向量中的位置?
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 求最大元素位置的分治算法
- 你好。。。id_public变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 如何将元素添加到向量的字符串位置
- 如何选择在 csv 文件中输出的位置
- 无法打开 fstream C++文件,即使它与 .cpp 位于同一位置
- 如何在特定位置追加 json 文件
- 我的目标是编写一个程序来计算和存储字符串在字符数组中出现的位置
- OpenGL - 在 NDC 中计算位置适用于着色器,但不适用于'regular'程序