int size() const:返回向量中元素的个数 int capacity() const:返回当前向量张红所能容纳的最大元素值 int max_size() const:返回最大可允许的vector元素数量值 7.其他函数 void swap(vector&):交换两个同类型向量的数据 void assign(int n,const T& x):设置向量中第n个元素的值为x void assign(const_...
vector<int>::size_typecap= value.capacity(); vector<int>::size_typesize= value.size(); size_type 类型是定义在由 vector 类模板生成的 vecotr 类中的,它表示的真实类型和操作系统有关,在 32 位架构下普遍表示的是 unsigned int 类型,而在 64 位架构下普通表示 unsigned long 类型。 当然,我们还可以...
int main(void) { vector<int> v; std::cout<<"v.size() == " << v.size() << " v.capacity() = " << v.capacity() << std::endl; v.reserve(10); std::cout<<"v.size() == " << v.size() << " v.capacity() = " << v.capacity() << std::endl; v.resize(10); v...
vector<int> vec; for (int i = 0; i <= vec.size() - 1; i++) { vec[i] } 这里会有个隐藏问题,当vec的size为0时,因为size()函数的返回值是无符号整型,这时vec.size() - 1是一个正数,导致vec[i]的访问越界 所以写i<size() 不要写<=size()-1...
vector(int nSize,const t& t):创建一个vector,元素个数为nSize,且值均为t vector(const vector&):复制构造函数 vector(begin,end):复制[begin,end)区间内另一个数组的元素到vector中 2.增加函数 void push_back(const T& x):向量尾部增加一个元素X ...
vector<vector<int>>b实例化一个名为b的vector。这个vector当中存得是一系列的vector<int>。实例化的同时,在b里面放入一些默认值。总共放入a[0].size()个默认值,默认值的内容是vector<int>(a.size()),即一个长度为a.size(),里面值都填充为0的vector<int>。可以把b想象成一个表,它有a[0...
size_type 相当于 unsigned int类型 使用size_type 主要是为了适应不同的平台 int 类型大小会根据不同平台而不同
返回此向量中的组件数。
vector`在不同编译器下的实现可能有所不同,但通过理解其底层设计和实现逻辑,可以清晰地解释为何`sizeof(vector)`的输出存在差异。总结而言,`vector`的大小输出取决于其底层数据结构、内存布局以及编译器的实现。通过源码分析,可以揭示这一复杂问题背后的细节,进一步理解C++标准库的设计和实现方式。