c++ STL中的set容器再给另一个set变量赋值后,两个变量中的元素是分别储存的吗?

c++ STL中的set容器再给另一个set变量赋值后,两个变量中的元素是分别储存的吗?,第1张

不会有影响,这是两份独立的拷贝。【任何Windows和Linux环境下】【所有的c++的编译器】都是这样的,因为C++标准库是这样定义的,所以任何编译器在实现标准库的时候都会遵守这条规则

std::set内部并不是以数组来保存元素的,而是用树。

这样的话,所谓的前后并没有什么意义!这个早就应该想到的!STL集合就是通过枚举器(iterator)来封装内部的存贮空间和算法的,只要用begin,next就可以遍历所有元素而不用管其内部的存贮位置

当然了std::set还是有一个固定“存贮位置”的,也就是说在其它元素没有变化的情况下,把位于begin位置的元素取出来(erase),再放回去(insert),还是会处于begin的位置的--这里说的是枚举的顺序。转载,仅供参考。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/7994144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存