Salutations !!
Ca fait depuis 2006 que j'ai plus touché au C++ et là je voudrais simplement faire en sorte de préfixer "./data/" à une variable déclarée const std::string& fname.
Faire ceci:
ou même
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2fname="./data/"+fname;
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3std::string sPrefix="./data/"; fname=sPrefix+fname;
...apparemment ça ne va pas... pourtant l'opérateur+ a été surchargé en standard pour accepter un objet string& à droite du "+"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 const std::string& sPrefix="./data/"; fname=sPrefix.append(fname);
Je voudrais faire en sorte de ne pas devoir changer fname comme paramètre de toutes les fonctions qui l'utilisent, je veux juste préfixer fname dans la fonction.string (1)
string operator+ (const string& lhs, const string& rhs);
string operator+ (string&& lhs, string&& rhs);
string operator+ (string&& lhs, const string& rhs);
string operator+ (const string& lhs, string&& rhs);
c-string (2)
string operator+ (const string& lhs, const char* rhs);
string operator+ (string&& lhs, const char* rhs);
string operator+ (const char* lhs, const string& rhs);
string operator+ (const char* lhs, string&& rhs);
character (3)
string operator+ (const string& lhs, char rhs);
string operator+ (string&& lhs, char rhs);
string operator+ (char lhs, const string& rhs);
string operator+ (char lhs, string&& rhs);
Sources: http://www.cplusplus.com/reference/s...ing/operator+/
J'y arrive pas... tout simplement, j'ai plus aucune notion de référence (&) à un objet, je suis plus à l'aise avec des pointeurs en mode C traditionnel.
Partager