当前位置: 首页> 科技> 能源 > 晋中seo_怎样在手机上无货源开店_手机百度下载免费安装_自助建站系统哪个好

晋中seo_怎样在手机上无货源开店_手机百度下载免费安装_自助建站系统哪个好

时间:2025/7/22 7:51:42来源:https://blog.csdn.net/weixin_73453526/article/details/144150679 浏览次数:0次
晋中seo_怎样在手机上无货源开店_手机百度下载免费安装_自助建站系统哪个好

容量(Capacity)与大小(Size)

  • Size:表示容器当前存储的元素数量。调用 clear() 后,大小将变成 0。
  • Capacity:表示容器在不需要重新分配内存的情况下,最大能存放的元素数量。调用 clear() 不会一般更改容量。
    • 对于vector,list,deque ,一般容量不变
    • 对于map,set,容量的概念并不适用于这些容器,因为它们通常不按需预分配空间

拿vector来说:

clear()函数的作用:清空容器,存储元素数目变为0,但是容量一般不变。

#include <iostream>
#include <vector>using namespace std;int main() {vector<int>v = { 1,2,3,4,5 };cout << "Size: " << v.size() << ", Capacity: " << v.capacity() << std::endl;for (int i = 0; i < v.size(); i++) {cout << v[i] << " ";}cout << endl;//清空容器,size=0, 但是不释放空间v.clear();cout << "Size: " << v.size() << ", Capacity: " << v.capacity() << std::endl;for (int i = 0; i < v.size(); i++) {cout << v[i] << endl;}//重新插入元素,size=1, capacity=5(此时v相当于定义的vector<int>v)v.push_back(1);cout << "Size: " << v.size() << ", Capacity: " << v.capacity() << std::endl;for (int i = 0; i < v.size(); i++) {cout << v[i] << endl;}//清空容器后释放内存v.shrink_to_fit(); // 可以减小capacity到size  cout << "Size: " << v.size() << ", Capacity: " << v.capacity() << std::endl;return 0;
}

输出:

Size: 5, Capacity: 5
1 2 3 4 5
Size: 0, Capacity: 5
Size: 0, Capacity: 0

证明clear后,数组被清空,长度变为0,但是容量不变
使用shrink_to_fit后,数组被清空,同时容量也为0(空间被释放)

关键字:晋中seo_怎样在手机上无货源开店_手机百度下载免费安装_自助建站系统哪个好

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: