浙江建筑网站网站开发背景图模板
web/
2025/10/6 2:43:21/
文章来源:
浙江建筑网站,网站开发背景图模板,网页设计网站模板,网站助手 伪静态1. 当vector的内存用完了#xff0c;它是如何动态扩展内存的#xff1f;它是怎么释放内存的#xff1f;用clear可以释放掉内存吗#xff1f;是不是线程安全的#xff1f;
(1). vector内存用完了#xff0c;会以当前size大小重新申请2*size的内存#xff0c;然后把原来…1. 当vector的内存用完了它是如何动态扩展内存的它是怎么释放内存的用clear可以释放掉内存吗是不是线程安全的
(1). vector内存用完了会以当前size大小重新申请2*size的内存然后把原来的元素复制过去把新元素插上然后释放原来的内存。 (2). 一般我们释放vector里的元素使用clear其实它不能释放内存要想释放内存要使用swap这样 1 2 3 4 5 6 vectortype v; // .... 这里添加许多元素给v // .... 这里删除v中的许多元素 vectortype(v).swap(v); // 此时v的容量已经尽可能的符合其当前包含的元素数量 // 对于string则可能像下面这样
(3). 引用《effective stl》的第十二条当涉及 STL容器和线程安全性时你可以指望一个 STL库允许多个线程同时读一个容器以及多个线程对不同的容器做写入操作。你不能指望 STL库会把你从手工同步控制中解脱出来而且你不能依赖于任何线程支持。必须自己去写多线程安全措施。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87697.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!