[C++] retourner un char []

retourner un char [] [C++] - C++ - Programmation

Marsh Posté le 09-10-2002 à 19:13:56    

Bete question :  
 
j'ai une classe qui a un champe en char []
 
disons : char nom[20];
 
quelle est la syntaxe pour retourner ce champ dans une fonctions get?
 
j'essaye inline char[] getNom() const { return nom; }
 
mais ca plante a la compilation
 
merci

Reply

Marsh Posté le 09-10-2002 à 19:13:56   

Reply

Marsh Posté le 09-10-2002 à 19:51:26    

char *

Reply

Marsh Posté le 09-10-2002 à 20:28:18    

utilsie plutot les std::string si possible, surtout si tu ne maitrises pas les pointeurs


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 10-10-2002 à 01:18:50    

[réponse inutilement complexe]

Code :
  1. struct TrucMuche{
  2. char nom[20];
  3. const char*  getNom1()      const { return nom; } //renvoie un  pointeur
  4. const char (*getNom2())[20] const { return nom; } //renvoie un  pointeur  sur le tableau
  5. const char (&getNom2())[20] const { return nom; } //renvoie une référence sur le tableau
  6. }TC;
  7.   TC.getNom1()   ; //ième caratère du nom
  8. (*TC.getNom2())  [i]; //idem, mais le compilateur pourrait signaler des dépassements
  9.   TC.getNom2()[0][i]; //idem, blabla...
  10.   TC.getNom3()   [i]; //idem, blabla...

[/réponse inutilement complexe]
 
Je renvoie des "[i]const char" exprès, sinon l'utilisateur pourrait modifier nom, et l'accesseur n'aurait pas d'intérêt.
 
Cela dit, les "string" sont effectivement plus simples...


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed