社区
C++ 语言
帖子详情
“swap 只是交换了两个容器的内部数据结构”是什么意思?
申祷无
2016-06-06 02:09:32
《C++ Primer》第五版,中文版。303 页。
...全文
245
3
打赏
收藏
“swap 只是交换了两个容器的内部数据结构”是什么意思?
《C++ Primer》第五版,中文版。303 页。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
「已注销」
2016-06-06
打赏
举报
回复
我是这样理解的 交换数据结构的意思是指,原数据所存放的地址并没有发生变化, 只是数据指针的指向发生了变化
ztenv
版主
2016-06-06
打赏
举报
回复
交换的不是数据,而是具体容器的数据结构,比如:两个list的swap,交换的不是list中的元素,而是整个双向链表,所以速度很快。
dustpg
2016-06-06
打赏
举报
回复
这句话“结构”是多余的吧,说得好像可以交换std::vector和std::list一样
C++
容器
swap
函数
1、
swap
函数
交换
俩个相同类型
容器
的内容,
交换
俩个
容器
的速度非常快,因为只
交换
容器
的
数据结构
,而不
交换
元素值;但是如果是array调用
swap
函数,速度将会很慢,因为他是
交换
的元素值,
交换
速度与array大小成正比; ...
C++-
swap
除array类型外,
交换
两个
容器
内容的操作保证会很快,因为
swap
只是
交换
了
两个
容器
的
内部
数据结构
,元素本身并未
交换
,
swap
可以保证在常数时间内完成。 元素不会被移动意味着,除string外,指向
容器
的迭代器、引用
为何string调用
swap
导致迭代器失效
swap
操作
交换
两个
相同类型的
容器
的内容,一般的
容器
(除array外),
交换
两个
容器
内容的操作会保证非常快,因为并没有
交换
元素本身,而只是
交换
了
两个
容器
的
内部
数据结构
(string不一定)。 注:这里
交换
两个
容器
的...
C++ 11 新特性:
容器
的非成员函数
swap
除aary外,
交换
两个
容器
内容的操作保证会很快------元素本身并未被
交换
,
swap
只是
交换
了
两个
容器
的
内部
数据结构
。元素不会被移动的事实意味着,除string外,指向窗口的迭代器、引用和指针在
swap
操作之后都不会失效。...
c++
容器
中
swap
函数用法
swap
操作
交换
两个
相同类型
容器
中的内容,调用
swap
函数后,
两个
容器
中的元素将会
交换
,
容器
中的元素
交换
... 第一种情况:如果
容器
是vector,list等
容器
,
交换
两个
容器
的内容的操作保证会很快,因为元素本身并不
交换
...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章