English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base di C++

Controllo dei flussi C++

Funzioni in C++

Array e stringhe C++

Strutture dati C++

Classi e oggetti C++

Puntatori in C++

Ereditarietà in C++

Tutorial STL di C++

Manuale di riferimento C++

Utilizzo e esempio di max_size() di C++ set

Set (insieme) STL in C++

C++ max_size()La funzione viene utilizzata per ottenere la dimensione massima che può contenere il contenitore della raccolta.

Sintassi

Tipo di membrosize_typeÈ un tipo di intero unsigned.

size_type max_size() const; // prima di C++ 11
size_type max_size() const noexcept; // da C++ 11

Parametro

Nessuno

Valore di ritorno

Restituisce la lunghezza massima consentita del contenitore della raccolta.

Complesso

Invariato.

Validità degli iteratori

Nessuna variazione.

Concussione dei dati

Il contenitore viene acceduto.

L'accesso simultaneo agli elementi della raccolta è sicuro.

Sicurezza delle eccezioni

Questa funzione membro non solleva mai eccezioni.

Esempio 1

Vediamo un esempio semplice per calcolare la dimensione massima della raccolta:

#include <iostream>
#include <set>
using namespace std;
 
int main()
{
    set<char, char> s;
    cout << "La dimensione massima della raccolta " << s.max_size() << "\n";
    return 0;
}

Output:

 La dimensione massima della raccolta "set" è 268435455

Nell'esempio precedente, la funzione max_size() restituisce la dimensione massima della raccolta.

Esempio 2

Lasciate che vi mostriamo un esempio semplice:

#include <iostream>
#include <set>
using namespace std;
int main ()
{
  int i;
  set<int> myset;
  if(myset.max_size() > 1000)
  {
    for(i = 0; i < 1000; i++) myset.insert(0);
    cout << "La serie contiene 1000 elementi.\n";
  }
  else cout << "La serie non può contenere 1000 elementi.\n";
  return 0;
}

Output:

La serie contiene 1000 elementi.

Nell'esempio sopra, il membro max_size viene utilizzato per controllare preventivamente se la serie può accettare 1000 elementi.

Esempio 3

Lasciate che vi mostriamo un esempio semplice, cercare la dimensione massima di un insieme vuoto e di un insieme non vuoto:

#include <set>
#include <iostream>
using namespace std;
 
int main()
{
 
    // Inizializzazione del contenitore
    set<int> mp1, mp2;
    mp1 = {1111};
 
    // Dimensione massima dell'insieme non vuoto
    cout << "mp1的最大大小为 " << mp1.max_size();
 
    // Dimensione massima dell'insieme vuoto
    cout << "\npm2的最大大小为 " << mp2.max_size();
    return 0;
}

Output:

La dimensione massima di mp1 è 214748364
La dimensione massima di mp2 è 214748364

Nell'esempio sopra, ci sono due insiemi, ovvero mp1 e mp2. mp1 è un insieme non vuoto, mp2 è un insieme vuoto. Ma le dimensioni massime delle due serie sono le stesse.

Esempio 4

Lasciate che vi mostriamo un esempio semplice:

#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
  typedef set<string> city;  
   string name;
   city fmly;
   int n;
   cout << "输入家庭成员的数量:\";
   cin >> n;
   cout << "输入每个成员的姓名:\n";
   for(int i = 0; i < n; i++)
   {
       cin >> name;      
       fmly.insert(name); // 将姓名插入集合
   }
   
      cout << "\n城市总人口数集:\
      cout << "\n家庭的总成员是:\
      cout << "\n家庭成员姓名: \n";
      cout << "\n姓名 \n \t________________________\n";
      city::iterator p;
      for(p = fmly.begin(); p != fmly.end(); p++)
      {
          cout << (*p) << " \n ";
      }
    
   return 0;
}

Output:

Inserisci il numero di membri della famiglia: 5
Inserisci il nome di ogni membro:
Zhang San
Zhang Si
Li Si
Wang Wu
Li Ma Zi
Popolazione totale della città: 97612893
Il numero totale dei membri della famiglia è: 5
Nome dei membri della famiglia:
Nome
 ________________________
Li Ma Zi
 Li Si
 Wang Wu
 Zhang San
 Zhang Si

Nell'esempio sopra, il programma crea interattivamente un insieme di città con la dimensione data. Poi, mostra la dimensione totale di un gruppo di città, la dimensione totale di una piccola città e tutti i nomi disponibili e le età nel gruppo.

Set (insieme) STL in C++