对 c++ 中向量的查询
Queries on vectors in c++
int main() { vector g1; vector :: iterator i; vector :: reverse_iterator ir;
for (int i = 1; i <= 5; i++)
g1.push_back(i);
cout << "Output of begin and endt:t";
for (i = g1.begin(); i != g1.end(); ++i)
cout << *i << 't';
cout << endl << endl;
cout << "Output of rbegin and rendt:t";
for (ir = g1.rbegin(); ir != g1.rend(); ++ir)
cout << 't' << *ir;
return 0;
}
在此代码中,变量"i"已声明为迭代器以及 for 循环中的变量。 这不是错误吗?
如果我们看到第一个 for 循环,它说循环将运行到 i!=g1.end() 这意味着 *(g1.end()) 的值不应该由 *i 显示,但它正在给出。 IDE 显示输出 1 2 3 4 5 对我来说应该是 1 2 3 4
i
在参数列表中定义为迭代器。当你在第一个for
循环中重新定义它时,这只是循环范围的新定义 - 这是完全合法的,尽管不是好的做法。vector::end()
指向最后一项之后的内存,而不是最终项。所以,是的,矢量中的最后一项将被打印。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 查询SQLite数据库中的日期
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- C++从另一个类访问公共静态向量的正确方法是什么
- 如何将ampl中的集合表示为c++中的向量
- 变量没有改变?通过向量的函数调用
- 迭代时从向量和内存中删除对象
- 查询C 中向量的初始化
- C soci查询到自定义对象的向量
- 使用c++向量按索引查询是否比RocksDB或LevelDB中按键(索引)查询快
- 对 c++ 中向量的查询
- 使用 Qt 从 mysql 查询构造 2D 向量
- C++中的构造向量查询