当前位置: 首页 > wzjs >正文

做搜狗网站优化排名软专业做网站官网

做搜狗网站优化排名软,专业做网站官网,做网站然后推广,动漫做a视频网站有哪些vector扩容缩容 1 扩容 一般来说&#xff0c;主要是重新分配内存 2 缩容 resize 缩小后&#xff0c;vector 的容量&#xff08;capacity()&#xff09;可能保持不变&#xff0c;需要显式调用 shrink_to_fit() 来释放内存。 验证代码&#xff1a; #include <vector>…

vector扩容缩容

1 扩容

一般来说,主要是重新分配内存

2 缩容

resize 缩小后,vector 的容量(capacity())可能保持不变,需要显式调用 shrink_to_fit() 来释放内存。

验证代码:

#include <vector>
#include <iostream>template <typename T>
class TrackingAllocator {
public:using value_type = T;TrackingAllocator() = default;// 允许从其他类型的 TrackingAllocator 构造template <typename U>TrackingAllocator(const TrackingAllocator<U>&) {}// 分配内存T* allocate(size_t n) {std::cout << "分配 " << n * sizeof(T) << " 字节" << std::endl;return static_cast<T*>(::operator new(n * sizeof(T)));}// 释放内存void deallocate(T* p, size_t n) {std::cout << "释放 " << n * sizeof(T) << " 字节" << std::endl;::operator delete(p);}// 定义相等比较运算符bool operator==(const TrackingAllocator&) const noexcept {return true; // 无状态分配器,所有实例等价}// 定义不等比较运算符(可选,C++20 前需要)bool operator!=(const TrackingAllocator& other) const noexcept {return !(*this == other);}
};int main() {// 使用自定义分配器的 vectorstd::vector<int, TrackingAllocator<int>> vec;// 测试 resize 缩小是否释放内存vec.resize(1000);  // 触发分配std::cout << "Size: " << vec.size() << ", Capacity: " << vec.capacity() << std::endl;vec.resize(10);    // 缩小 size,但 capacity 不变std::cout << "Size: " << vec.size() << ", Capacity: " << vec.capacity() << std::endl;vec.shrink_to_fit(); // 显式释放多余内存std::cout << "Size: " << vec.size() << ", Capacity: " << vec.capacity() << std::endl;return 0;
}

测试不同标准库实现的行为:

编译器/库resize 缩小是否自动释放内存
GCC (libstdc++)否,需 shrink_to_fit
Clang (libc++)否,需 shrink_to_fit
MSVC (MSVC STL)否,需 shrink_to_fit

注意:gcc使用shrink_to_fit时,会重新分配空间

检测是否有内存泄漏:

valgrind --tool=memcheck --leak-check=full ./your_program
http://www.dtcms.com/wzjs/330754.html

相关文章:

  • 餐饮营销型网站建设搜索引擎排名查询
  • seo1现在怎么看不了兰州搜索引擎优化
  • 在阿里巴巴上怎样做网站网络营销服务商有哪些
  • 嘉定网站建设哪家便宜广东河源最新疫情
  • 怎样给公司产品做网站营销型网站建设怎么做
  • 福州品牌网站设计快手流量推广免费网站
  • 如何做网站网页免费深圳全网推广效果如何
  • 策划会展网站建设不受限制的万能浏览器
  • 做网站具体步骤google推广工具
  • 厦门住房和城乡建设局网站百度经验首页
  • 深圳网站建设_seo搜索引擎营销工具
  • 做图标得英文网站如何编写一个网站
  • 网站建设与管理行业发展情况百度域名
  • wordpress怎么修改首页百度快照优化推广
  • 伊犁网站建设北京营销网站制作
  • 网站开发后端怎么开发seo网站seo
  • 想要去网站做友情链接怎么发邮件天津优化代理
  • 电商网站开发背景网站优化seo推广服务
  • 攀枝花网站怎么做seo手机关键词seo排名优化
  • 做游戏网站需要哪些许可快速排名服务平台
  • 编织网站建设sem竞价外包公司
  • 专门做学校政府的网站上海关键词排名提升
  • 东莞做网站制作360竞价推广开户多少钱
  • 个人官方网站怎么建设体育热点新闻
  • lamp网站开发实战百度竞价排名模式
  • 赣州网站制作公司网络营销的推广方式都有哪些
  • 常州网约车平台嘉兴seo外包
  • 手机网站用单独做吗网络推广的方法有
  • 别人给公司做的网站字体侵权吗查询网 网站查询
  • 网站流量统计怎么做网站开发用什么语言