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 da 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:

Classi corda e wstring. parte 5
3 (60%) 1 votazione

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.

5 pensieri su "Classi corda e wstring. parte 5

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

    circa:

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

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

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

      1. Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку.
        Мартин Фаулер

        Видите лиесли Вы пишете код для компьютера, для достижения собственных целей и для собственного удовлетворениято пожалуйста, никто не запрещает и не сказал бы Вам ничего против, но почему-то этот мне и людям приходится видеть этот код, читать его
        В последнее время чтение кода людьми и понимание написанного играет ключевую роль в написании программных систем, люди меняются, а разрабатывать продукт нужно продолжать, хотя конечно, как я и сказал ранее, это не относится если Вы пишете код только в своём проекте над которым не работают другие люди.

        p/s:
        в данной ситуации, действительно лишь дело вкуса ставить скобочки или нет, я пишу лишь по поводу Вашего ответа.

      2. Dmitry, ещё раз повторюдля лучшей усвояемости: ci несколько разных стилей форматирования кода C/C++. И ни один из них не лучше и не хуже остальных.
        Мне довелось работать в нескольких разработческих софтверных компаниях, у которых были совершенно разные корпоративные требования (кодестайл). Так что стиль нужно выбирать тот, который используется в текущем проекте.

Lascia un Commento

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *