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 :

La curiosité !


Sujet :

C++

  1. #1
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut La curiosité !
    Je suis de retour et je me permet de reposter ma "curiosité" que je pensait C'ienne (en fait c'est du C++) en ayant qq peu modifié le code pour le mettre a la sauce c++.
    Quelqu'un peut -il donc m'expliquer cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <iostream>
     
    using namespace std;
     
    int main(){
     
      volatile char s[5] = {-13,-25,68,100,'\0'};
      char s0[5] = {-13,-25,68,100,'\0'};
     
      cout << s << endl;
      cout << s0 << endl;
     
      return EXIT_SUCCESS;
    }
    • g++ -o prog prog.cc
      ./prog
      1
      óçDd

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 394
    Par défaut
    Sur quelle plate-forme apparaît ta curiosité ?
    J'ai réussi à la reproduire sous linux, avec gcc 4.0.

    A priori, la différence d'affichage est dûe à leur manipulation dans la bibliothèque
    standard. En remplaçant les operateurs de flux par un bon vieux printf, l'affichage
    des deux chaines est identique.

  3. #3
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Même chose sous VC++ 7, en poussant les warnings à /W3 on obtient ce message :

    main.cpp(10) : warning C4800: 'volatile char *' : forcing value to bool 'true' or 'false' (performance warning)
    Le compilo semble forcer la valeur de retour à true ou false. En suivant en interne le cout sur "s" on arrive sur cet opérateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _Myt& operator<<(_Bool _Val)
    Tandis qu'en interne (toujours en débuggant l'application) la valeur de s est bien la même que celle de s0.

  4. #4
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    version gcc 3.3.5 (Debian 1:3.3.5-13)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Curiosité]Livres pour formation à l'algo, p. contraintes...
    Par BugFactory dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 28/03/2006, 20h46
  2. Réponses: 12
    Dernier message: 03/03/2006, 11h31
  3. Réponses: 13
    Dernier message: 18/01/2006, 12h51
  4. Decalage de bits ... curiosité !
    Par Franck.H dans le forum C
    Réponses: 8
    Dernier message: 27/06/2005, 12h15
  5. Curiosité concernant le réseau sous mandrake 9.2
    Par R3iTt0R dans le forum Réseau
    Réponses: 4
    Dernier message: 04/06/2004, 11h57

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