Melalui Rujukan lwn. Penunjuk dalam C
Menentukan bila untuk lulus dengan rujukan dan bila untuk melepasi penunjuk boleh menjadi perkara yang mengelirukan dalam C . Mari kita terokai kelebihan dan kekurangan setiap pendekatan.
Melalui Rujukan
Kelebihan:
Kelemahan:
Melalui Penunjuk
Kelebihan:
Kelemahan:
Amalan Terbaik
Peraturan umum ialah "Gunakan rujukan apabila anda boleh dan penunjuk apabila anda perlu ." Contohnya:
Contoh
Pertimbangkan coretan kod berikut:
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; }
Dalam contoh ini, menggunakan penunjuk untuk lulus myFriends adalah sesuai kerana ia membolehkan kita mencipta vektor baharu dan kemudian menghantar berkongsi penunjuk kepadanya. Walau bagaimanapun, adalah penting untuk diingat untuk memadamkan Rakan saya secara eksplisit untuk mengelakkan kebocoran memori.
Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Rujukan dan Bilakah Anda Harus Menggunakan Penunjuk dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!