次の方法で共有


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>

参照

概念

標準テンプレート ライブラリのサンプル