C での参照による受け渡しとポインターによる受け渡し
参照による受け渡しとポインターによる受け渡しの判断は、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 中国語 Web サイトの他の関連記事を参照してください。