一、通用容器大小操作所有容器类型都提供4种与容器大小相关的操作,包括: (1)c.size():返回容器c中的元素个数 (2)c.max_size():返回容器c可容纳的最多元素个数,返回类型为c::size_type (3)c.empty():返…
那max_size()又是什么? 看stlport源码如下 size_type max_size()const{ size_type __vector_max_size= size_type(-1) /sizeof(_Tp); typename allocator_type::size_type __alloc_max_size=this->_M_end_of_storage.max_size();return(__alloc_max_seize < __vector_max_size)?__alloc_max_size...
max_size属性和capacity不同,表示STL容器允许的最大元素数,通常,这个数是一个很大的常整数,可以理解为无穷大。这个数目与平台和实现相关,在我的机器上vector的max_size为1073741823,而string的max_size为4294967294。因为max_size很大~所以基本不会发生元素数超过max_size的情况,只需知道两者区别即可。 4、一些容器与...
相当于是一维数组name[SIZE],只不过长度可以变化,和一维数组一样,typename可以是任何数据类型,例如int、char、double、结构体、也可以是STL标准容器,例如vector、set、queue,需要注意的是,如果typename也是一个STL容器,定义的时候需要在>>符号之间加上空格。因为C++ 11之前标准的编译器会把它视为移位操作。如果typename...
int size() const:返回向量中元素的个数 int capacity() const:返回当前向量所能容纳的最大元素值 int max_size() const:返回最大可允许的vector元素数量值 7.其他函数 void swap(vector&):交换两个同类型向量的数据 void assign(int n,const T& x):设置向量中前n个元素的值为x ...
size:"<<vec0.size()<<endl;//10cout<<"vec0 max size:"<<vec0.max_size()<<endl;//1073741823 = 4GBytecout<<"vec0 capacity:"<<vec0.capacity()<<endl;//13vec0.resize(20);cout<<"new size:"<<vec0.size()<<" new capacity:"<<vec0.capacity()<<endl;//20 20vec0.resize(5);...
这个数字大约就是4G内存所能容纳的元素个数,其实没什么意义,只是个理论值。你用的大概是vector<int>吧,一个int一般是用4个字节存储,4G内存是4*1024*1024*1024个字节,除以四就等于1073741824
// vector_max_size.cpp // compile with: /EHsc #include <vector> #include <iostream> int main( ) { using namespace std; vector <int> v1; vector <int>::size_type i; i = v1.max_size( ); cout << "The maximum possible length of the vector is " << i << "." << endl; ...
在Visual C++ 演示如何使用向量:: 范围和向量:: 容量标准 (STL)模板库函数。 复制 template<class _TYPE, class _A> void vector::reserve( size_type _N ); template<class _TYPE, class _A> size_type vector::max_size( ) const; template<class _TYPE, class _A> void vector::resize( size_typ...
10. max_size():返回 vector 容器可达到的最大元素个数。11. empty():如果 vector 长度为 0,返回 true;否则返回 false。12. reserve():请求改变容器的容量,使其能容纳指定的元素数目,不改变实际元 素数目。13. push_back():将指定元素添加到 vector 容器的最后位置,使 vector 容器的长度 增加 1。