C 中的引用傳遞與指標
在C 中,理解何時使用引用和指標可能是一個令人困惑的話題。本文探討了按引用傳遞和按指針傳遞的細微差別,並提供了實用指南。
依引用傳遞:
當您需要時,建議依引用傳遞:
透過指標傳遞:
以下情況需要透過指標傳遞:
最佳實踐:
作為一般規則,盡可能首選透過引用傳遞。但是,在處理文字、空指標或需要修改指標本身的情況時,請透過指標傳遞。
範例:
提供的程式碼片段透過指向映射動態分配向量的指標。這是一種有效的方法,因為我們需要建立一個新向量並透過引用地圖來傳遞它。透過使用指針,我們無需複製整個向量。
#include <iostream> #include <vector> #include <map> #include <string> #include <tr1/memory> #include <algorithm> using namespace std; using namespace std::tr1; 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; }
以上是在 C 中什麼時候應該使用引用還是指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!