面试真题

C++ · 简单 · Momenta

vector和array的区别

简单 C++ 🎤 Momenta
参考答案
结论:array是编译期固定大小的栈数组封装,vector是运行时动态大小的堆数组。核心要点:1. 大小:array<T,N>大小N编译确定不可变;vector可动态resize;2. 内存:array通常在栈(或全局区),vector数据在堆,对象本身含指针;3. 开销:array无额外管理开销,访问高效;vector有容量、大小等元数据及扩容拷贝成本;4. 接口:vector提供push_back等,array类似原生数组但带at()边界检查。示例:array<int,5> a{}; vector<int> v(5); v.push_back(6)合法,a不可增。
题目整理自公开面经,答案由校招宝自研生成,仅供参考