Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1020 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++11] fonction renvoyant une reference sur un tableau de 10 string

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++11] fonction renvoyant une reference sur un tableau de 10 string

n°2266130
bqron
We become what we think about.
Posté le 19-09-2015 à 16:27:09  profilanswer
 

Salut, je coince sur un exo de C++ Primer 5e édition:

 

Comme indique le titre il me faut déclarer une fonction qui renvoi une référence sur un tableau :

 

Alors, j'ai fait ceci :

 
Code :
  1. // avec le trailing return type
  2. auto rarr(const std::string& text, int i = 0) -> std::string(& )[10]
  3. {
  4.     static std::string arry[10];
  5.     for (;i<10;++i)
  6.         arry = text + std::to_string(i);
  7.     return arry; // Enfin même ici, je suis pas sûr a 100% de renvoyer une référence.
  8. }
 

Hors, il me faut le faire de 4 manière différentes :

  • En utilisant le [i]trailing return type (réponse ci-dessus)
  • En utilisant decltype
  • En utilisant un alias ( typedef ou using )
  • Et enfin sans utilisez aucune des manières listée ci-dessus.


PS: Ah j'oubliais, pas de STL ni template ne doit être utiliser.

 

[edit]

 
Code :
  1. // Avec le typedef
  2. typedef std::string tabT[10]; // Je préfère le typedef a using car ça active la coloration syntaxique dans mon ide :P
  3. tabT& rarr(const std::string& text, int i = 0);
 
Code :
  1. // Sans rien
  2. std::string (&rarr(const std::string& text, int i = 0))[10]
 
Code :
  1. //avec le decltype
  2. std::string arrT[10] // une variable global, c'est moche...
  3. decltype(arrT)& rarr(const std::string& text, int i = 0);
 

le main :

Code :
  1. int main(int argc, char **argv)
  2. {
  3.     std::string tab[10] = rarr("test 1 ", 2);
  4.     for (int i = 0; i < 10; ++i )
  5.         std::cout << "tab[ " << i << " ] = " << tab[i] << std::endl;
  6.     return 0;
  7. }
 

Du coup elles sont correct mes déclarations ?


Message édité par bqron le 19-09-2015 à 19:39:28

---------------
The success, is a progressive realization of a worthy ideal
mood
Publicité
Posté le 19-09-2015 à 16:27:09  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++11] fonction renvoyant une reference sur un tableau de 10 string

 

Sujets relatifs
[VBA] Créer une fonction "Recherche", "Bug liste déroulante" ...récupération données tableau html avec python
unrecognized character in %c format string %cConvertir un string en nom de variable ? (parseJSON)
Macro copier tableau avec plusieurs critèresListe utilisateur AD fonction de plusieurs criteres
Ajout de variables dans un tableautableau outofBound
[résolu] Modification valeur tableau bidimentionnel[Access] Tableau de bord
Plus de sujets relatifs à : [C++11] fonction renvoyant une reference sur un tableau de 10 string


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR