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中文网其他相关文章!