Passage par référence ou pointeur en C : un principe directeur
En C, comprendre quand employer le passage par référence et quand utiliser des pointeurs est crucial. Cette pratique peut conduire à un code efficace et sans erreur.
Situations générales
Passer un std::string à une fonction :
Passer un tr1::shared_ptr à une fonction :
Pointeurs vs références
Le passage par référence offre une cohérence, car chaque objet peut être traité comme une référence. Cependant, le passage par pointeur offre la flexibilité nécessaire pour gérer les nullptrs et les littéraux.
Analyse d'extrait
L'extrait donné :
map<string, shared_ptr<vector<string>> > adjacencyMap; vector<string>* myFriends = new vector<string>(); myFriends->push_back(string("a")); myFriends->push_back(string("v")); myFriends->push_back(string("g")); adjacencyMap["s"] = shared_ptr<vector<string> >(myFriends);
met en évidence la nécessité de considérer les propriétés à la fois des références et des pointeurs :
Règle générale
En fin de compte, le choix approprié dépend des exigences spécifiques. Comme principe directeur, considérez :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!