admin管理员组文章数量:1612061
在C++容器类型中,max_size()和size()函数通用于所有类型的容器,capcity()和reserve()函数值只适用于vector容器。
c.size()函数:返回容器c 中元素的个数
c.max_size()函数:返回容器C可容纳的最多元素个数
c.capacity()函数:返回容器c在需要重新分配更多存储空间之前能够存储的元素总数
c.reserve()函数:告诉容器c应该预留多少个元素的空间
vector 存在预分配机制。可以在元素不存在的情况下预分配一段空间,为以后的存储做准备。这段空间可以用reserve()调节。capacity()返回的值就是可以存放元素的个数。capacity() - size()就是下次重新进行空间分配前的预留元素个数。至于max_size()指的是一个vector结构可供储存元素的个数的上线,通常是由于寻址空间决定的
如下程序进行测试
vector<int> ivec;
ivec.push_back(1);
ivec.push_back(2);
cout<<"capacity:"<<ivec.capacity()<<endl;
cout<<"max_size:"<<ivec.max_size()<<endl;
cout<<"size:"<<ivec.size()<<endl;
结果如下:
转载于:https://blog.51cto/lihaichuan/1176530
本文标签: 函数sizemaxsizereserveCapacity
版权声明:本文标题:C++中max_size()、size()、capacity()和reserve()函数 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728622180a1166493.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论