社区
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吗?
也就是说 :如何理解如果两个迭代器对象指向同一个元素,则他们相等,否则就不相等。
...全文
218
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++版
收集工作中经常遇到、经典的
问
题
,抽象并给出交较优答案,方便同事优化、学习。用C++实现,本课程将持续更新,大约每周更新一章。包括但不限于: 一,二分查找原理。 二,二分查找,如果有多个返回最后一个。 三,二...
连续删除
Vector
前
几个
后者后
几个
元素
#include <iostream> #include <stdlib.h> #include <
vector
>... //产生20个元素 std::
vector
<double> mVec; for(int i=0;i<mLong;i++) { mVec.push_back((double)i); .
C++_
vector
操作
vector
说明:
vector
是向量类型,可以容纳许多类型的数据,因此也...//定义具有10个整型元素的向量(尖括号为元素类型名,它可以是任何合法的数据类型),不具有初值,其值不确定 方式2.
vector
<int>a...
关于
Vector
作为函数的返回值
关于
Vector
作为函数的返回值,有几点需要说明: 1.首先如果
Vector
是一个局部的变量,那么返回该
Vector
的引用是十分危险的,因为在
Vector
超出作用域的,会自动调用相关的析构函数(~
Vector
()),如果
Vector
中存放的...
c++中将一个
vector
对象插入另一个
vector
中
c++中的
vector
的插入操作有
几个
方法:
vector
.insert(pos,elem); //在pos位置插入一个elem元素的拷贝,返回新数据的位置。
vector
.insert(pos,n,elem); //在pos位置插入n个elem数据,无返回值。
vector
.insert...
C++ 语言
64,663
社区成员
250,487
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章