Classi corda e wstring. parte 5




C ++ principianti, classe String, classe wstring, контейнеры C ++ STL , Standard Template Library, C ++ contenitoreLa classe String libreria standard C ++ è ben noto e facilmente utilizzare. Ma non tutti e non sempre pensare al fatto, la classe corda, con alcune differenze nei dettagli - questo è il vettore contenitore: vettore<carbonizzare> . verità, Ha completato alcune caratteristiche (ma questo codice e si sarà in grado di scrivere):

  • metodo dimensione() zadublirovan методом lunghezza(). Essi sono completamente identici, per ragioni di convenienza. Solo per avere una maggiore lunghezza di linea naturale, quali dimensioni;

  • gli operatori di overload definiti +, += che la concatenazione di ritorno (unione) tempo;

  • sicuramente progettista, inizializza corda quando si crea il valore iniziale della stringa di caratteri nel formato ASCIIZ (char * - Un puntatore a un array di caratteri in finale in stile C a Zero);

  • metodo certo c_str(), che restituisce un puntatore ai contenuti interni della stringa nel formato ASCIIZ. Poiché questo è il significato interiore, può essere usato, ma non cercare di cambiarlo. Questo non andrà a buon fine.

In tutte comportano esattamente la stessa linea come il resto della vettore, e ad essi applicabili tutte le operazioni sui vettori. comprensione, che è una classe corda (vettore<carbonizzare>) può permettere di creare una serie di effetti inattesi. per esempio, perché il carattere null non è vettore<carbonizzare> alcun significato speciale (A differenza di linea C), то его тоже вполне можно «заталкивать» в конец corda. Тем самым можно поместить в единственную переменную corda tutta una serie di C-stringhe, o anche l'intero testo.

ecco, come mettere in modo simile tutto le variabili di ambiente set (ambiente) sistema operativo uno variabile corda:

nota: Qui, abbiamo usato uno dei più ammissibile forma le principali funzioni del programma principale() – 3-m parametro che è un array di puntatori stringhe (char *) variabili d'ambiente (ambiente). Un segno della fine di un array di stringhe envp Si tratta di un puntatore NULLO (quelli. Documentazione del sistema operativo).

risultato:classe String, classe wstrting, контейнеры C ++ STL , Standard Template Library, C ++ contenitore

Che cosa circa il tipo di wstring? wstring - L'equivalente di vettore<wchar_t> , vettore "ampia", caratteri localizzati, che rappresenta la codifica dei caratteri internazionali Unicode. Analisi dei contenuti (ricerca, selezione di parola, interruzioni di riga, ecc) Di lingua russa o di qualsiasi altra linea (esempio cinese) Può essere fatto solo nel formato wtring (non corda). При этом необходимо предварительно установить правильную локаль для программы (l'impostazione internazionale predefinita “C” Si presuppone solo caratteri ASCII nella rappresentazione a 7 bit). per IO wstring flussi ha offerto, rispettivamente wcin e wcout, invece di gin e cout, destinati corda. È scritto come promemoria.

A titolo di esempio, si consideri un analisi stringa localizzata wstring sul tema, se si tratta di un palindromo.

Gli spazi e la punteggiatura vengono ignorati per i confronti:

La lettera L di fronte a una costante carattere è, che la linea contiene più , scritta a una vasta carattere wchar_t

risultato:classe String, classe wstrting, контейнеры C ++ STL , Standard Template Library, C ++ contenitore

La localizzazione - questo è un argomento completamente diverso, che ci porterebbe lontano dal nostro tema principale. Discussione di localizzazione e caratteri estesi in C / C ++ può essere leggi qui.

certamente, questa parte è importante notare i seguenti fatti, relative a tutti i tipi di contenitori STL. Quando si crea un costruttore senza parametri container, crea un contenitore vuoto, Più non contenente elemento (vuoto per il futuro riempire il contenitore). Le dimensioni del contenitore (metodo dimensione(), o lunghezza() per il periodo) zero. Ma più efficace, in termini di prestazioni, contenitori Ispezione per il metodo vuoto vuoto(), che è presente in tutti i tipi di contenitori.

Newsletter nuove lezioni sulla programmazione:

data
pagina
Classi corda e wstring. parte 5
valutazione
51stella1stella1stella1stella1stella
olio

Di olio

esperienze pratiche circa lo sviluppo del software 40 anni. Maestro globale Logic società di software internazionale. IBM Developer funziona autore permanente di pubblicazioni. redattore scientifico del computer casa editrice letteratura "Simbolo-Plus", San Pietroburgo.

3 pensieri su "Classi corda e wstring. parte 5

  1. Спасибо автору за статьи.
    Но у меня вопроспочему вы не заключаете оператор условия в фигурные скобки? Это ведь не очень читабельно. per esempio:

    circa:

    Второй вариант однозначно нагляднее

    1. pertanto, что вопрос форматирования кодадело вкуса, предпочтений, и на этот счёт есть достаточно много diverso мнений.

      P.S. Юное дурачьё (например на Хабрахабр) гордо называет это кодестайл и делают из этого фетиш, самоцель. Но программный код пишется не для эстетического удовольствия (как красивше скобочки расставить), а для того, чтобы он безукоризненно работал. Но об этом, том что это ingegneria специальность, а не эстетическая забава, в последние лет 10 как-то стали забывать.

Lascia un Commento

Inserire il codice nei tag: <pre class="lang:C ++ decodifica:true ">IL TUO CODICE</pre>