set::max_size (STL Samples)
Visual C++ で 設定 :: max_size の標準テンプレート ライブラリ関数を使用する方法に (STL) ついて説明します。
template<class _K, class _Pr, class _A>
class set
{
public:
// Function 1:
size_type max_size() const;
}
解説
[!メモ]
プロトタイプのクラスやパラメーター名はヘッダー ファイルのバージョンと一致しない。ただし読みやすさが向上するように変更されました。
max_size の関数は被制御シーケンスが保持できる要素の最大数を指定します。
使用例
// SetMax_size.cpp
// compile with: /EHsc
//
// Illustrates how to use the max_size function to determine how
// many elements the controlled sequence can contain.
//
// Functions:
//
// max_size Returns the maximum number of elements the controlled
// sequence can contain.
//
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
#include <set>
#include <iostream>
#include <assert.h>
using namespace std;
typedef set<int> SET_INT;
int main()
{
SET_INT s1;
cout << "s1.max_size() returned ";
cout << s1.max_size() << endl; // 1073741823 [value may vary]
for (unsigned int x = 0 ; (x < 1000 && x < s1.max_size()) ; x++)
assert(s1.insert(x).second);
cout << "s1.size() returned ";
cout << s1.size() << endl; // 1000
}
出力例
次の出力はx86 の場合です。
s1.max_size() returned 1073741823
s1.size() returned 1000
必要条件
ヘッダー : <set>