社区
C++ 语言
帖子详情
pair的一个问题
tmaclove
2007-04-23 07:45:08
今天在用pair的时候发现pair不包含iterator对象
即:pair<string,string>::iterator iter 的用法是错的
请问这是为什么呢??
pair也是你中内置的数据类型,为什么不能用呢?
iterator在用的时候有什么特殊要求么?
谢谢解答
...全文
312
9
打赏
收藏
pair的一个问题
今天在用pair的时候发现pair不包含iterator对象 即:pair::iterator iter 的用法是错的 请问这是为什么呢?? pair也是你中内置的数据类型,为什么不能用呢? iterator在用的时候有什么特殊要求么? 谢谢解答
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lzp729
2007-04-24
打赏
举报
回复
我借楼问个问题:
VC8 <utility>头文件针对swap 有两个模板函数,一个是普通的,一个是针对pair写的,我不明白为什么要这样设计,我认为针对pair的设计并不会比通用的swap更有效率,相反还会多义词调用,而且模板在实例化的时候要根据两个类型来实例化,编译和运行的效率都对低一点点,不明白为什么要这样做?
参见:http://www.lzp729.cn/?p=56&page=3
关注中
chenyi3315
2007-04-24
打赏
举报
回复
pair就一对数据,不需要iterator啊
jixingzhong
2007-04-24
打赏
举报
回复
不是容器,为什么需要 迭代器?
0黄瓜0
2007-04-24
打赏
举报
回复
VC8 <utility>头文件针对swap 有两个模板函数,一个是普通的,一个是针对pair写的,我不明白为什么要这样设计,我认为针对pair的设计并不会比通用的swap更有效率,相反还会多义词调用,而且模板在实例化的时候要根据两个类型来实例化,编译和运行的效率都对低一点点,不明白为什么要这样做?
参见:http://www.lzp729.cn/?p=56&page=3
关注中
================
STL对复杂结构之间的交换,是交换两个结构的指针,不是交换值.
比如两个vector的交换,若用全局的swap则是交换值,效率低,而用vector自己定义的swap,则只交换数据的头指针和改写少量数据.
对pair专门定义的swap也可能是这种情况.
rainstormed
2007-04-24
打赏
举报
回复
pair就是一对数据,又不是容器,用不着iterator
lidongri
2007-04-24
打赏
举报
回复
iterator是遍历容器用的,pair不是容器
sirguan
2007-04-24
打赏
举报
回复
iterator是遍历容器用的,pair不是容器,所以不需要有迭代器。
楼主可能认为iterator是遍历结构中的每个成员,这在一定程度上是对的,因为vector等容器的iterator确实是在读取成员,但并不是读取所有的成员,容器中的其他成员没有被遍历,iterator要遍历的只是提供有用数据的那部分成员。
建议看看《c++标准程序库》这本书
飞哥
2007-04-23
打赏
举报
回复
就一个对
template<class _T1, class _T2> struct pair {
typedef _T1 first_type;
typedef _T2 second_type;
pair()
: first(_T1()), second(_T2()) {}
pair(const _T1& _V1, const _T2& _V2)
: first(_V1), second(_V2) {}
template<class U, class V> pair(const pair<U, V> &p)
: first(p.first), second(p.second) {}
_T1 first;
_T2 second;
};
晨星
2007-04-23
打赏
举报
回复
pair又不是个容器类,哪来的iterator啊?
“pair也是你中内置的数据类型,为什么不能用呢?”
——你这句话很怪哦,int倒是内置的数据类型,有iterator么?
scheme里关于cons、list、p
air
的
一个
小
问题
本文深入探讨Scheme语言中cons、list和p
air
的核心概念与区别:cons构造二元序对(p
air
),p
air
是基本复合数据结构,list是由nil终止的p
air
链;强调三者在内存表示、构造方式及语义上的差异,并指出list是p
air
的特例,而所有list都是p
air
,但并非所有p
air
都是list。
Trick : p
air
的二分
问题
博客主要围绕p
air
的二分
问题
展开,因p
air
是双元素,二分易出错。通常第二个元素可能是编号,用处不大。文中分别阐述了第
一个
> x、>= x、< x、<= x的p
air
的二分情况及处理方法。
关于标准库中std::make_p
air
的
一个
问题
在从VS2005升级到VS2012时,遇到std::make_p
air
编译错误,错误信息提示不能将参数1从“int”转换为“int &&”,原因是C++11引入的右值引用。解决方法是理解并应用左值与右值的概念。参考链接提供了关于C++11右值引用的详细解释。
两个有序数组,从中各取
一个
组成p
air
,求和最小的前K个p
air
(杨氏矩阵top k
问题
)
本文深入探讨了堆排序技术在解决Top K P
air
和丑数
问题
中的应用,通过优先队列实现高效的数据结构操作,确保从小到大输出序列的同时,动态维护堆中元素,优化查找和更新过程。
关于c++ p
air
自己遇到的
一个
问题
?为何不一样?为何第
一个
程序不能返回p
air
内数组的值呢?(已经解决)
本文探讨了C++中使用指针返回局部变量导致的内存
问题
。当函数返回局部变量的地址时,由于这些变量在函数结束后会被销毁,导致指针失效。解决方案是使用静态局部变量,确保其生命周期超出函数调用。示例代码展示了这一
问题
及其修正后的正确做法。
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章