Classes cordes et wstring. partie 5




c ++ débutants, classe string, classe wstring, La STL de контейнеры C , Standard Template Library, c ++ conteneurLa classe de chaîne bibliothèque standard de C est bien connue et utiliser facilement. Mais pas tout le monde et ne pas penser toujours sur le fait, la classe chaîne, avec quelques différences dans les détails - ce qui est le vecteur de conteneur: vecteur<carboniser> . vérité, Il a complété certaines fonctionnalités (mais ce code et vous serez capable d'écrire):

  • méthode Taille() zadublirovan par longueur(). Ils sont complètement identiques, pour des raisons de commodité. Juste pour avoir une longueur de ligne plus naturelle, quelle taille;

  • opérateurs surchargés définies +, += que le retour concaténation (union) temps;

  • certainement concepteur, initialise chaîne lorsque vous créez la valeur initiale de la chaîne de caractères dans le format ASCIIZ (carboniser* - Un pointeur sur un tableau de caractères en fin de style C à zéro);

  • certaine méthode c_str(), qui renvoie un pointeur sur le contenu interne de la chaîne dans le format ASCIIZ. Puisque tel est le sens intérieur, il peut être utilisé, mais ne pas essayer de le changer. Ce ne sera pas bien finir.

Dans tous se comportent exactement de la même ligne que le reste de la vecteur, et qui leur sont applicables toutes les opérations sur les vecteurs. entente, qui est une classe chaîne (vecteur<carboniser>) peut se permettre de créer un certain nombre d'effets inattendus. par exemple, parce que le caractère nul n'est pas vecteur<carboniser> pas de signification particulière (Contrairement à la ligne C), то его тоже вполне можно «заталкивать» в конец chaîne. Тем самым можно поместить в единственную переменную chaîne toute une série de C-cordes, ou même l'ensemble du texte.

voici, comment mettre de la même manière tous variables d'environnement (Environnement) le système d'exploitation un variable chaîne:

note: Ici, nous avons utilisé l'un des plus permis forme les principales fonctions du programme Principal() – 3-m paramètre qui est un tableau de pointeurs cordes (carboniser*) variables d'environnement (Environnement). Un signe de la fin d'un tableau de chaînes envp Il est un pointeur NUL (ceux. Documentation du système d'exploitation).

résultat:classe string, classe wstrting, La STL de контейнеры C , Standard Template Library, c ++ conteneur

Qu'en est-il du type de wstring? wstring - L'équivalent de vecteur<wchar_t> , vecteur "large", caractères localisés, représentant l'encodage de caractère international Unicode. Analyse des contenus (recherche, sélection de mots, les sauts de ligne, etc.) Russophones ou toute autre ligne (exemple chinois) Elle ne peut se faire sous la forme wtring (pas chaîne). При этом необходимо предварительно установить правильную локаль для программы (la localisation par défaut “C” Elle suppose que les caractères ASCII dans la représentation 7-bit). Pour IO wstring cours d'eau offertes, respectivement WCIN et wcout, au lieu de gin et cout, destiné à chaîne. Il est écrit comme un rappel.

A titre d'illustration, considérons une analyse de chaîne localisée wstring sur le thème de, que ce soit un palindrome.

Les espaces et la ponctuation sont ignorés pour les comparaisons:

La lettre L à l'avant d'une constante de caractère, que la ligne contient plus , écrit un caractère large wchar_t

résultat:classe string, classe wstrting, La STL de контейнеры C , Standard Template Library, c ++ conteneur

Localisation - c'est un sujet complètement différent, qui nous mènera loin de notre thème principal. Discussion de la localisation et caractères larges en C / C ++ peut être lire ici.

sûrement, cette partie est pertinent de noter les faits suivants, relatives à tous les types de conteneurs STL. Lorsque vous créez un constructeur de conteneurs sans paramètres, crée un conteneur vide, Plus ne contenant aucun élément (blanc pour l'avenir remplir le récipient). La taille du récipient (méthode Taille(), ou longueur() pour la période) zéro. Mais plus efficace, en termes de performances, L'inspection des conteneurs pour la méthode à vide vide(), qui est présent dans tous les types de contenants.

Bulletin de nouvelles leçons sur la programmation:

Classes cordes et wstring. partie 5
3 (60%) 1 vote

huile

Sur huile

une expérience pratique sur le développement de logiciels 40 ans. société de logiciels internationale Global Teacher Logic. IBM Developer Works auteur permanent des publications. éditeur scientifique de l'ordinateur littérature maison d'édition "Symbole-Plus", Saint-Pétersbourg.

5 réflexions sur "Classes cordes et wstring. partie 5

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

    environ:

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

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

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

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

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

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

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

Laisser un commentaire

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *