Bila Menggunakan Rujukan dan Penunjuk dalam C
Melalukan data melalui rujukan atau penunjuk dalam C menimbulkan dilema biasa. Untuk memberikan kejelasan, mari kita teliti setiap pilihan:
Rujukan
Penunjuk
Garis Panduan Am
Sebagai peraturan umum, "Gunakan rujukan apabila anda boleh dan petunjuk apabila anda perlu." Berikut ialah pecahan senario biasa:
Lulus dengan rujukan:
Lulus dengan penunjuk:
Contoh Khusus
Coretan kod yang disediakan menunjukkan penggunaan rujukan dan petunjuk:
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);
Dalam kes ini, menggunakan rujukan (myFriends) untuk vektor membolehkan manipulasi langsung tanpa overhed penyalinan. Walau bagaimanapun, memandangkan myFriends diperuntukkan secara dinamik, ia diakses melalui penuding, mengelakkan isu penuding berjuntai.
Ingat, pilihan antara rujukan dan penunjuk bergantung pada keperluan khusus situasi. Dengan memahami kelebihan dan kekurangan setiap satu, anda boleh membuat keputusan termaklum yang mengoptimumkan prestasi dan kejelasan kod.
Atas ialah kandungan terperinci Bilakah saya harus memilih Rujukan dan Penunjuk dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!