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 :

Fonction renvoyant char*


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 230
    Par défaut Fonction renvoyant char*
    Voila je voudrais savoir si l'utilisation d'une telle fonction est correcte, sans fuite de mémoire (je pense que oui mais c'est pour être sur), voici un exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    char* GetNom()
    {
     return "Salut\0";
    }
     
    int main()
    {
     cout << GetNom() << endl;
     
     return 0;
    }

  2. #2
    Membre émérite

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Par défaut
    Je pense que oui car l'allocation n'est pas dynamique mais le code correct serait celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    const char* GetNom() 
    { 
       return "Salut"; // les "" retournent déjà une chaîne avec le caractère de fin \0
    } 
     
    int main() 
    { 
       cout << GetNom() << endl; 
     
       return 0; 
    }

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 67
    Par défaut
    Je ne comprends pas pourquoi tu fais du C++ avec des char* surtout quand cela est évitable!
    Pourquoi tu ne renvoies pas des String plutot?

  4. #4
    Membre éprouvé
    Inscrit en
    Novembre 2002
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 120
    Par défaut
    [quoteJe ne comprends pas pourquoi tu fais du C++ avec des char* surtout quand cela est évitable!
    Pourquoi tu ne renvoies pas des String plutot?[/quote]

    Quel est l'interêt avec des constantes? De plus, il est très simple de construire un string à partir d'un const char * (un des constructeurs de la classe le fait).

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 230
    Par défaut
    J'utilise encore les char* car je trouve ca très pratique et que je ne sais pas encore exactement comment marche les strings pour l'instant.

Discussions similaires

  1. Fonction renvoyant une string
    Par salseropom dans le forum C
    Réponses: 8
    Dernier message: 04/05/2006, 11h44
  2. Fonction renvoyant 0 ou 1
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/10/2005, 10h56
  3. Réponses: 1
    Dernier message: 20/08/2004, 09h16
  4. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 15h33
  5. fonction renvoyant un tableau en argument
    Par Jones dans le forum Langage
    Réponses: 6
    Dernier message: 30/09/2002, 18h20

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