Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question de synthaxe

Sujet résolu
    25 janvier 2019 à 20:29:19

    Bonjour. Je vous écris car sur https://zestedesavoir.com/tutoriels/822/la-programmation-en-c-moderne/le-debut-du-voyage/une-super-memoire/ après qu'il ai parlé des séquences d'échappement les plus fréquentes, comme exemple il met ça :

    #include <iostream>
    
    int main()
    {
        std::cout << "Voici un exemple sans échappement : " << "'" << " est bien affiché." << std::endl;
        std::cout << "Maintenant, je vais l'échapper : " << '\'' << " est bien affiché grâce à l'échappement." << std::endl;
        
        std::cout << "La suite, après la tabulation : \tJe suis loin." << std::endl;
        std::cout << "Ces mots sont sur une ligne.\nEt ceux là sur la suivante.\n";
    
        return 0;
    }

    Et pour la première ligne avec des caractères entre chaque chaîne de caractère il met << et quand j'ai essayé de voir ce que ça faisait sans ça a fait pareil. Alors ça sert à quoi de mettre << à chaque fois entre chaque ligne de caractère ?

    -
    Edité par Twilatson 26 janvier 2019 à 18:26:10

    • Partager sur Facebook
    • Partager sur Twitter
      26 janvier 2019 à 18:32:04

      Question de clarté de ton code.

      Qu'est ce qui est le plus lisible ?

      std::cout << "La suite, après la tabulation : \tJe suis loin." << std::endl;
      std::cout << "Ces mots sont sur une ligne.\nEt ceux là sur la suivante.\n";
      
      // Ou
      std::cout << "La suite, après la tabulation : \tJe suis loin.\nCes mots sont sur une ligne.\nEt ceux là sur la suivante.\n";

      -
      Edité par Deedolith 26 janvier 2019 à 18:32:34

      • Partager sur Facebook
      • Partager sur Twitter
        26 janvier 2019 à 18:47:32

        Personnellement, je préfère découper la chaîne sur plusieurs sans les multiplier std::cout ou les chevrons.

        std::cout <<
            "Ces mots sont sur une ligne.\n"
            "Et ceux là sur la suivante.\n"
            "Mais il n'y a ici qu'une seule chaîne de caractère.\n"
        ;
        

        Bien sûr, s'il y a autre chose qu'une unique chaîne de caractères, j'ajoute les chevrons, mais rarement plusieurs std::cout à la suite. Mais c'est essentiellement une question de goût sur la forme qui la plus lisible.

        -
        Edité par jo_link_noir 26 janvier 2019 à 18:47:51

        • Partager sur Facebook
        • Partager sur Twitter
          26 janvier 2019 à 19:51:37

          Mais pour cette phrase :

              std::cout << "Voici un exemple sans échappement : " << "'" << " est bien affiché." << std::endl;

          Les chevrons c'est une question de lisibilité ? Parce que c'est plus lisible que ça ?

              std::cout << "Voici un exemple sans échappement : " "'" " est bien affiché." std::endl;
          • Partager sur Facebook
          • Partager sur Twitter
            26 janvier 2019 à 21:42:00

            SebDestructeur a écrit:

            Mais pour cette phrase :

                std::cout << "Voici un exemple sans échappement : " << "'" << " est bien affiché." << std::endl;

            Les chevrons c'est une question de lisibilité ? Parce que c'est plus lisible que ça ?

                std::cout << "Voici un exemple sans échappement : " "'" " est bien affiché." std::endl;


            Je suis au même endroit que toi sur le court ,

            Est je pense que on mais les << pour une question probablement de compatibilité avec tout système d'exploitation ,

            • Partager sur Facebook
            • Partager sur Twitter
              26 janvier 2019 à 22:05:53

              Non non, rien à voir. La syntaxe "chaîne 1" "chaîne 2" est valide en C++. Donc tous les compilateurs l'acceptent.

              Les chevrons sont là pour isoler ' et présenter quand l'échapper. Dans du vrai code, on aurait simplement écrit

              std::cout << "Voici un exemple sans échappement : ' est bien affiché." << std::endl;

              (sans les " au milieu)

              • Partager sur Facebook
              • Partager sur Twitter
                27 janvier 2019 à 12:29:03

                Oui ça je sais c'est logique. Merci beaucoup pour l'aide. À plus tard dans un autre sujet.
                • Partager sur Facebook
                • Partager sur Twitter
                  27 janvier 2019 à 12:54:13

                  Dans un vrai code, il y aurait un appel à une fonction d'une bibliothèque d'internationalisation, qui irait chercher la chaine qui va bien dans un fichier de traductions spécifiques à une langue.

                  Et on n'est pas sorti de l'auberge.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Question de synthaxe

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown