容器vector的一点疑问:capacity()函数不可控?

品茶 品茶 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include "stdafx.h"
#include <vector>
#include <iostream>

using std::cout;
using std::endl;
using std::vector;

template<typename ContainersType>
void printContainersData(ContainersType containers)
{
ContainersType::iterator begin = containers.begin();
ContainersType::iterator end = containers.end();
for (; begin!=end; begin++)
{
cout<<*begin<<' ';
}
cout<<endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
//定义空Vector
vector<short>vContainers1;//vContainers1.capacity()结果为13 为什么?
//vector<short>vContainers1(4);//vContainers1.capacity()结果为19 为什么?
//vector<short>vContainers1(5);//vContainers1.capacity()结果为15 为什么?

//向Vector中输入元素
for (short index = 0; index<10; index++)
{
vContainers1.push_back(index);
}

cout<<"为空Vector赋值,结果为:\n";
cout<<"vContainers1:";
printContainersData(vContainers1);
cout<<vContainers1.capacity());//容器为空时capacity()不可控?
cout<<endl;

return 0;
}
...全文

相关推荐

经典C与C++面试题精选

经典C与 C++ 面试题总结,面试集锦,技巧

G1107898008

C++与Python容器深度对比:从内存模型到实战性能优化

容器是编程中用于存储和组织数据的基础数据结构,其核心原理在于如何高效地管理内存和提供数据访问接口。在底层实现上,容器通常分为基于连续内存的数组结构和基于节点链接的链表或树结构,这直接决定了其时间复杂度与缓存友好性。从技术价值看,深入理解容器原理能显著提升程序性能与资源利用率,尤其在处理大规模数据或高性能计算场景时至关重要。应用场景广泛,从日常的业务逻辑数据处理到系统底层开发、算法竞赛及科学计算都离不开对容器的恰当选择。本文聚焦于C++ STL容器与Python内置容器的对比,深入剖析两者在内存模型、迭代器机

weixin_30512043

国央企创新负责人如何构建多维度的科技资源评价与配置体系?.docx

国央企创新负责人如何构建多维度的科技资源评价与配置体系?

BIZKEEN

《移动通信系统》全套PPT课件2026(西安电子科技大学)

《移动通信系统》全套PPT课件2026(西安电子科技大学)

书阁酷

Python3 json序列化常见报错

json只能序列化字符串、数字、列表、字典、布尔、空值。无法序列化datetime、bytes、自定义类对象,直接dumps会抛出类型错误。解决方案:自定义序列化函数,通过default参数传入,手动转换特殊对象。中文乱码:默认ensure_ascii=True会转义中文,改为False直接输出原生中文。反序列化loads注意:json字符串要求双引号,Python字典单引号字符串无法解析,需要提前替换引号。 lxwuhua.cn mayawalkermx.com mccia.com.cn lzsxgqscgs.com mftug.com

2601_97326425
评论 17
收藏 已收藏
分享
返回顶部
品茶
C++ 语言 65,214 成员 250,514 内容