• [^] # Re: Erreur de livre et experts C++

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche C++17 fixe l’ordre d’évaluation des expressions. Évalué à 1.

    De plus, l'interface des string aurait due être séparée en "méthodes" non modifiantes, "méthodes modifiantes", quitte à faire une classe "readonly_string" qui permette les recherches, les modifications de taille (ou du pointeur de début de chaîne) mais pas du contenu de la chaîne

    On est en C++ là. Il suffit de faire une const std::string. Les méthodes que tu peux utilisées sont alors uniquement celles annotées "const", qui ne modifient pas le contenu de l'objet. Pas besoin d'une deuxième classe.

    Cela dit, il me semble qu'il y a dans les projets pour C++17 une "string_view", qui ne stocke pas ses données mais permet de faire ce genre de choses avec des données externes (venant d'une string, d'un char*, ou d'une autre string_view), ceci afin de limiter le nombre de copies des données.