Condividi tramite


Classe basic_string

Le sequenze controllate da un oggetto della classe modello basic_string sono rappresentate dalla classe stringa C++ standard e in genere vengono definite stringhe, ma non devono essere confuse con le stringhe in formato C con terminazione Null usate nella libreria standard C++. La stringa C++ standard è un contenitore che consente l'uso di stringhe come tipi normali, ad esempio come operazioni di confronto e concatenazione, iteratori, algoritmi STL e copia e assegnazione con Managed Memory dell'allocatore della classe. Se è necessario convertire una stringa C++ standard in una stringa in formato C con terminazione Null, usare il membro basic_string::c_str.

template <class CharType, class Traits = char_traits<CharType>, class Allocator = allocator<CharType>> class basic_string;

Parametri

  • CharType
    Tipo di dati di un singolo carattere da archiviare nella stringa. La libreria standard C++ fornisce le specializzazioni di questa classe modello con le definizioni dei tipi string per gli elementi di tipo char, wstring per wchar_t, u16string per char16_t e u32string per char32_t.

  • Traits
    Diverse proprietà importanti degli elementi CharType in una specializzazione basic_string vengono descritti dalla classe Traits. Il valore predefinito è char_traits<CharType>.

  • Allocator
    Tipo che rappresenta l'oggetto allocatore archiviato che incapsula i dettagli relativi all'allocazione e alla deallocazione di memoria della stringa. Il valore predefinito è allocator<CharType>.

Costruttori

basic_string

Costruisce una stringa vuota o inizializzata in base a caratteri specifici oppure che rappresenta una copia di tutto o parte di un altro oggetto stringa o stringa C.

Definizioni typedef

allocator_type

Tipo che rappresenta la classe allocator per un oggetto stringa.

const_iterator

Tipo che fornisce un iteratore ad accesso casuale che può accedere e leggere un elemento const nella stringa.

const_pointer

Tipo che fornisce un puntatore a un elemento const in una stringa.

const_reference

Tipo che fornisce un riferimento a un elemento const archiviato in una stringa per la lettura e l'esecuzione di operazioni const.

const_reverse_iterator

Tipo che fornisce un iteratore ad accesso casuale che può leggere qualsiasi elemento const nella stringa.

difference_type

Tipo che fornisce la differenza tra due iteratori che fanno riferimento agli elementi all'interno della stessa stringa.

iterator

Tipo che fornisce un iteratore ad accesso casuale che può leggere o modificare qualsiasi elemento in una stringa.

npos

Valore integrale senza segno inizializzato a –1 che indica "non trovato" o "tutti i caratteri rimanenti" quando una funzione di ricerca non riesce.

pointer

Tipo che fornisce un puntatore a un elemento carattere in una matrice di stringhe o caratteri.

reference

Tipo che fornisce un riferimento a un elemento archiviato in una stringa.

reverse_iterator

Tipo che fornisce un iteratore ad accesso casuale che può leggere o modificare un elemento in una stringa invertita.

size_type

Tipo integrale senza segno per il numero di elementi in una stringa.

traits_type

Tipo per i tratti dei caratteri degli elementi archiviati in una stringa.

value_type

Tipo che rappresenta il tipo di caratteri archiviati in una stringa.

Funzioni membro

append

Aggiunge caratteri alla fine di una stringa.

assign

Assegna nuovi valori di caratteri al contenuto di una stringa.

at

Restituisce un riferimento all'elemento in una posizione specificata nella stringa.

back

begin

Restituisce un iteratore che punta al primo elemento nella stringa.

c_str

Converte il contenuto di una stringa come stringa in formato C con terminazione Null.

capacity

Restituisce il numero massimo di elementi che è possibile archiviare in una stringa senza aumentare l'allocazione di memoria della stringa.

cbegin

Restituisce un iteratore const che punta al primo elemento nella stringa.

cend

Restituisce un iteratore const che punta alla posizione successiva all'ultimo elemento in una stringa.

clear

Cancella tutti gli elementi di una stringa.

compare

Confronta una stringa con una stringa specificata per determinare se le due stringhe sono uguali oppure se una è minore dell'altra a livello lessicografico.

copy

Copia al massimo un numero specificato di caratteri da una posizione indicizzata all'interno di una stringa di origine in una matrice di caratteri di destinazione. Deprecato. In alternativa, usare basic_string::_Copy_s.

crbegin

Restituisce un iteratore const che punta al primo elemento in una stringa invertita.

crend

Restituisce un iteratore const che punta alla posizione successiva all'ultimo elemento in una stringa invertita.

_Copy_s

Copia al massimo un numero specificato di caratteri da una posizione indicizzata all'interno di una stringa di origine in una matrice di caratteri di destinazione.

dati

Converte il contenuto di una stringa in una matrice di caratteri.

empty

Verifica se la stringa contiene caratteri.

end

Restituisce un iteratore che punta alla posizione successiva all'ultimo elemento in una stringa.

erase

Rimuove un elemento o un intervallo di elementi in una stringa da una posizione specificata.

find

Cerca in avanti in una stringa la prima occorrenza di una sottostringa che corrisponde a una sequenza di caratteri specificata.

find_first_not_of

Cerca in una stringa il primo carattere che non è un elemento di una stringa specificata.

find_first_of

Cerca in una stringa il primo carattere che corrisponde a un elemento di una stringa specificata.

find_last_not_of

Cerca in una stringa l'ultimo carattere che non è un elemento di una stringa specificata.

find_last_of

Cerca in una stringa l'ultimo carattere che è un elemento di una stringa specificata.

front

Restituisce un riferimento al primo elemento in una stringa.

get_allocator

Restituisce una copia dell'oggetto allocator usato per costruire la stringa.

insert

Inserisce un elemento, un numero di elementi o un intervallo di elementi nella stringa in una posizione specificata.

length

Restituisce il numero corrente di elementi in una stringa.

max_size

Restituisce il numero massimo di caratteri che una stringa può contenere.

pop_back

Cancella l'ultimo elemento della stringa.

push_back

Aggiunge un elemento alla fine della stringa.

rbegin

Restituisce un iteratore al primo elemento in una stringa invertita.

rend

Restituisce un iteratore che punta alla posizione immediatamente successiva all'ultimo elemento in una stringa invertita.

replace

Sostituisce gli elementi in una stringa in una posizione specificata con i caratteri specificati o i caratteri copiati da altri intervalli, stringhe o stringhe C.

reserve

Imposta la capacità della stringa su un numero grande almeno quanto un numero specificato.

resize

Specifica una nuova dimensione per una stringa, aggiungendo o cancellando gli elementi in base alle esigenze.

rfind

Cerca all'indietro in una stringa la prima occorrenza di una sottostringa che corrisponde a una sequenza di caratteri specificata.

shrink_to_fit

Rimuove la capacità in eccesso della stringa.

size

Restituisce il numero corrente di elementi in una stringa.

substr

Copia una sottostringa di al massimo un numero di caratteri da una stringa a partire da una posizione specificata.

swap

Scambia il contenuto di due stringhe.

Operatori

operator+=

Aggiunge caratteri a una stringa.

operator =

Assegna nuovi valori di caratteri al contenuto di una stringa.

operator[]

Fornisce un riferimento al carattere con un indice specificato in una stringa.

Note

Se a una funzione viene richiesto di generare una sequenza più lunga di max_size elementi, la funzione segnala un errore di lunghezza generando un oggetto di tipo length_error.

I riferimenti, i puntatori e gli iteratori che definiscono gli elementi della sequenza controllata possono diventare non validi dopo una chiamata a una funzione che modifica la sequenza controllata o dopo la prima chiamata a una funzione membro non const.

Requisiti

Intestazione: <string>

Spazio dei nomi: std

Vedere anche

Riferimenti

<string>

Sicurezza dei thread nella libreria standard C++