IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Des accents dans le code source ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut Des accents dans le code source ?
    [edit]Cette branche est issue d'une digression à partir de la discussion http://www.developpez.net/forums/d67...e/#post3976639[/edit]

    Tu sais qu'il m'arrive de mettre des des é,è,à,ê dans mes noms de variable, de fonction, de classes...
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    Tu sais qu'il m'arrive de mettre des des é,è,à,ê dans mes noms de variable, de fonction, de classes...
    C'est autorisé, je croyais que c'était uniquement [a-z][A-Z][0-9] et '_' ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    C'est autorisé, mais non garanti :
    Citation Envoyé par Le standard, 2.1 Phases of translation
    1. Physical source file characters are mapped, in an implementation-defined manner, to the basic source character set (introducing new-line characters for end-of-line indicators) if necessary. The set of physical source file characters accepted is implementation-defined. Trigraph sequences (2.3) are replaced by corresponding single-character internal representations. Any source file character not in the basic source character set (2.2) is replaced by the universal-character-name that designates that character. (An implementation may use any internal encoding, so long as an actual extended character encountered in the source file, and the same extended character expressed in the source file as a universal-character-name (i.e. using the \uXXXX notation), are handled equivalently.)
    Et :
    Citation Envoyé par Le standard, 2.10 Identifiers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    identifier:
      identifier-nondigit
      identifier identifier-nondigit
      identifier digit
    identifier-nondigit:
      nondigit
      universal-character-name
      other implementation-defined characters
    J'avoue que j'hésiterais à l'utiliser pour du code de production ou portable (par exemple ma version de gcc, contrairement à Visual C++ ne les accepte pas), mais quand je dois écrire du code en français (code de démo ou de test, souvent), je préfère l'écrire en français correct, sinon c'est incompréhensible (exemple : mange et mangé sont deux noms de fonctions possibles pour un jeu de dames, mais ont des sens totalement opposés).
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    A mon avis, sur ce coup, les normalisateurs auraient mieux fait de s'abstenir, c'est le meilleur moyen de rajouter un comportement indéfini (cela compile ici mais pas là et je comprend pas pourquoi).

    Pour moi (mais cela n'engage que moi), l'ancienne règle ([a-z][A-Z][0-9] et '_') me va très bien, pas besoin de rajouter des accents et autres trigraphes.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Et donc tu interdis à des gens d'écrire du code dans leur langue natale ? Je pense certes qu'il est souvent judicieux de coder en anglais, mais je pense qu'il serait trop limitatif d'opposer un obstacle supplémentaire à un chinois, un indien, un coréen, un klingon (encore que pour eux...) ou un français qui veut écrire un programme.

    Ou alors, si on veut imposer une langue d'écriture de code, autant que ce soit le chinois, c'est quand même la langue maternelle la plus courante.

    Et ça ne rajoute pas vraiment de comportement indéfini par rapport à un programme qui utiliserait uniquement de tels caractères dans des constantes chaînes, ou même simplement dans des commentaires. Le comportement indéfini est dans la première phase de translation, par laquelle passent en effet ces éléments. A l'issue de cette phase, tous ces caractères sont (philosophiquement du moins) remplacés par des UNC. Et la norme oblige à accepter les UNC représentant des lettres dans les noms d'identificateurs.

    Telle que je la lis, un compilateur qui accepte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cout << "Salut à vous";
    Mais pas
    N'est pas conforme.

    Quant aux trigraphs, pas le choix, ils étaient obligatoires pour gérer des environnements au jeu de caractère encore plus limité que l'ascii. Et ils ne sont pas autorisés dans les identificateurs.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Marche pas sur gcc , du moins...
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. [Toutes versions] Extraire des données en ciblant des ID, dans le code source d'une page web ?
    Par Dan.exe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/10/2014, 05h32
  2. [XL-2010] Encodage des caractères dans les codes-source VBA
    Par puresprit dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/04/2013, 23h16
  3. Expansion des noeuds dans le code source (VS2008)
    Par Maniz dans le forum Visual Studio
    Réponses: 3
    Dernier message: 25/10/2011, 12h03
  4. [Débutant] Prendre des informations dans un code source winform
    Par Zeristof dans le forum VB.NET
    Réponses: 1
    Dernier message: 12/09/2011, 21h40
  5. pas d'accent dans le code source
    Par Mario Rousson dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/06/2010, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo