社区
C++ 语言
帖子详情
问几个关于vector的问题
lxhtzy
2006-11-27 10:58:03
1,能有这样的定义吗:vector<vector<int>> ivec;
2,vector<spring> vec1("hellow"),vec2("h");
vector<spring>::iterator vc1=vec1.begin(),vc2=vec2.begin();
那么vc1==vc2吗?
也就是说 :如何理解如果两个迭代器对象指向同一个元素,则他们相等,否则就不相等。
...全文
240
7
打赏
收藏
问几个关于vector的问题
1,能有这样的定义吗:vector<vector> ivec; 2,vector vec1("hellow"),vec2("h"); vector::iterator vc1=vec1.begin(),vc2=vec2.begin(); 那么vc1==vc2吗? 也就是说 :如何理解如果两个迭代器对象指向同一个元素,则他们相等,否则就不相等。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
greenteanet
2006-11-28
打赏
举报
回复
1,能有这样的定义吗:vector<vector<int>> ivec;
这个是可以的,属于模板的嵌套。但是注意书写格式。
2,应该理解为指针的判等条件。
晨星
2006-11-28
打赏
举报
回复
一般指的是同一容器中的同一元素,而不是不同容器中的同一位置。
lxhtzy
2006-11-28
打赏
举报
回复
谢谢啊 分不多
KthTes
2006-11-28
打赏
举报
回复
1.可以。模板类型可以嵌套
2.应该是vector<string>楼主写错了。楼主可以做一个试验:
#include <iostream>
#include <vector>
#include <typeinfo>
using namespace std;
class A
{
};
int main()
{
vector<string> svec;
vector<string>::iterator it=svec.begin();
if(typeid(*it)==typeid(string))
cout<<"OK"<<endl;
if(typeid(it)==typeid(string*))
cout<<"OK"<<endl;
return 0;
}
呵呵,实际证明,你的vector<string>::iterator的类型就是string*,vector<int>::iterator就是int*
明白了吧?
指针怎么判等的,iterator就怎么判等。你要想看它们实际指向的东西等不等,那要加解引用运算符*。
taodm
2006-11-28
打赏
举报
回复
iterator相当于指针(虽然精确的说法是指针是一种iterator),指针所指向的地址值相同,指针才相等,iterator同理。
lxhtzy
2006-11-27
打赏
举报
回复
如何理解如果两个迭代器对象指向同一个元素,则他们相等,否则就不相等。
晨星
2006-11-27
打赏
举报
回复
(1)可以,但后面两个“>>”需要用空格隔开一下:vector<vector<int> > ivec;否则,编译器会将“>>”识别成一个移位运算符,从而报出语法错误。
(2)vc1==vc2?这个怎么说呢,不同的库产品中,vector::iterator的类型不尽相司,但至少从C++语言标准中得不出楼主的结论。
C++_
vector
操作
本文详细介绍了C++中的
vector
容器,包括
vector
的基本概念、初始化方法以及常用的内置函数。阐述了向
vector
中添加和读取元素的各种方式,并列举了相关示例。此外,还提及了
几个
常用的算法在
vector
上的应用。最后,作者分享了个人感悟,并提供了全套C++学习资料的购买信息。
类中
vector
的初始化
问
题
本文介绍了在C++类中初始化
vector
时遇到的编译错误,通过实例解析了错误原因和正确的初始化方式,包括使用{}、push_back()以及赋值运算符=。错误提示显示编译器将初始化语法误识别为函数定义,导致缺少参数声明的错误。通过改变初始化方式,可以避免此类
问
题
。
vector
几个
问
题
!
本文介绍如何高效使用C++ STL中的
Vector
容器,包括利用reserve预分配内存以减少重新分配次数、通过swap方法调整容器容量及替代
Vector
布尔类型的最佳实践。
Vector
初始化与常用函数以及
几个
K
问
题
本文详细介绍C++ STL中的
Vector
容器,包括定义、初始化方法及常用函数。同时提供了一个寻找最小K个数的
问
题
示例代码。
vector
及
vector
迭代器
问
题
本文详细介绍了C++标准库中的
vector
容器,包括其作为动态数组的特点、空间管理策略以及构造函数。重点讲解了
vector
的迭代器使用,如在插入元素时如何避免迭代器失效,并探讨了resize和reserve方法的应用。此外,还阐述了
vector
的增删查改操作,特别指出删除操作不会导致缩容。最后,通过示例分析了在
vector
中插入元素时迭代器可能导致的
问
题
及其解决方案。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章