Passage par référence ou pointeur en C
Déterminer quand passer par référence et quand passer par pointeur peut être une question déroutante en C. Explorons les avantages et les inconvénients de chaque approche.
Passer par référence
Avantages :
Inconvénients :
Passage par pointeur
Avantages :
Inconvénients :
Bonnes pratiques
Une règle générale est de « Utilisez des références lorsque vous le pouvez et des pointeurs lorsque vous devez le faire. ". Par exemple :
Exemple
Considérez l'extrait de code suivant :
int main() { 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); return 0; }
Dans cet exemple, utiliser un pointeur passer myFriends est approprié car cela nous permet de créer un nouveau vecteur puis de lui transmettre un pointeur partagé. Cependant, il est important de penser à supprimer explicitement myFriends pour éviter les fuites de mémoire.
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!