迭代器初始化QVector
时间: 2024-01-14 21:03:13 浏览: 77
c++设计模式-行为型模式-迭代器模式
在 Qt 中,可以使用 QVector 类来存储一组数据,可以通过迭代器来访问这些数据。 QVector 的迭代器分为 const 和非 const 两种类型,分别用于访问不可修改的数据和可修改的数据。
以下是 QVector 迭代器的初始化方法:
1. 使用 begin() 和 end() 函数
```cpp
QVector<int> vec = {1, 2, 3, 4, 5};
QVector<int>::iterator it;
for (it = vec.begin(); it != vec.end(); ++it) {
// 迭代器访问
}
```
2. 使用 constBegin() 和 constEnd() 函数
```cpp
const QVector<int> vec = {1, 2, 3, 4, 5};
QVector<int>::const_iterator it;
for (it = vec.constBegin(); it != vec.constEnd(); ++it) {
// 迭代器访问
}
```
3. 使用 QMutableVectorIterator 类型
```cpp
QVector<int> vec = {1, 2, 3, 4, 5};
QMutableVectorIterator<int> it(vec);
while (it.hasNext()) {
int value = it.next();
// 迭代器访问
}
```
4. 使用 Q_FOREACH 宏
```cpp
QVector<int> vec = {1, 2, 3, 4, 5};
Q_FOREACH(int value, vec) {
// 迭代器访问
}
```
需要注意的是,迭代器访问 QVector 中的元素时要确保迭代器指向的位置是有效的,否则会导致程序崩溃或者出现未定义的行为。
阅读全文