C 中的引用传递与指针
确定何时通过引用传递以及何时通过指针传递可能是一个令人困惑的问题C.让我们探讨一下每种方法的优缺点。
通过引用传递
优点:
缺点:
通过指针传递
优点:
缺点:
最佳实践
一般经验法则就是“可以时使用引用,必要时使用指针”。例如:
示例
考虑以下代码片段:
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; }
在此示例中,使用指针传递 myFriends 是合适的,因为它允许我们创建一个新向量,然后传递一个共享指针给它。但是,请务必记住显式删除 myFriends 以避免内存泄漏。
以上是在 C 中什么时候应该使用引用以及什么时候应该使用指针?的详细内容。更多信息请关注PHP中文网其他相关文章!