allocator::max_size
형식의 요소 수를 반환 합니다. 유형 수 수 할당 할당자 클래스의 개체에서 사용 가능한 메모리를 사용 하기 전에.
size_type max_size( ) const;
반환 값
수 요소를 할당할 수 없습니다.
예제
// allocator_max_size.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
#include <vector>
using namespace std;
int main( )
{
vector <int> v1;
vector <int>::iterator v1Iter;
vector <int>:: allocator_type v1Alloc;
int i;
for ( i = 1 ; i <= 7 ; i++ )
{
v1.push_back( i );
}
cout << "The original vector v1 is:\n ( " ;
for ( v1Iter = v1.begin( ) ; v1Iter != v1.end( ) ; v1Iter++ )
cout << *v1Iter << " ";
cout << ")." << endl;
vector <double> v2;
vector <double> ::iterator v2Iter;
vector <double> :: allocator_type v2Alloc;
allocator<int>::size_type v1size;
v1size = v1Alloc.max_size( );
cout << "The number of integers that can be allocated before\n"
<< " the free memory in the vector v1 is used up is: "
<< v1size << "." << endl;
int ii;
for ( ii = 1 ; ii <= 7 ; ii++ )
{
v2.push_back( ii * 10.0 );
}
cout << "The original vector v2 is:\n ( " ;
for ( v2Iter = v2.begin( ) ; v2Iter != v2.end( ) ; v2Iter++ )
cout << *v2Iter << " ";
cout << ")." << endl;
allocator<double>::size_type v2size;
v2size = v2Alloc.max_size( );
cout << "The number of doubles that can be allocated before\n"
<< " the free memory in the vector v2 is used up is: "
<< v2size << "." << endl;
}
샘플 출력
다음 출력에 대 한 x 86입니다.
The original vector v1 is:
( 1 2 3 4 5 6 7 ).
The number of integers that can be allocated before
the free memory in the vector v1 is used up is: 1073741823.
The original vector v2 is:
( 10 20 30 40 50 60 70 ).
The number of doubles that can be allocated before
the free memory in the vector v2 is used up is: 536870911.
요구 사항
헤더: <memory>
네임 스페이스: std