Rumah >pembangunan bahagian belakang >C++ >Adakah `ToList()` Mencipta Senarai Objek yang Benar-benar Bebas?
Adakah ToList() Mencipta Senarai Baharu dan Objek Bebas?
Apabila berurusan dengan jenis rujukan, adalah penting untuk memahami tingkah laku ToList (). Walaupun ia mungkin mencipta senarai baharu, objek asas masih boleh merujuk yang ada dalam senarai asal.
Instance:
Pertimbangkan kelas MyObject dengan sifat SimpleInt. Senarai MyObjects (objs) dibuat dan senarai tambahan dijana dengan menggunakan ToList() pada objs.
Analisis Fungsi:
Kaedah ChangeToList menerima parameter jenis Senarai
Keputusan:
Disebabkan MyObject ialah jenis rujukan, objectList merujuk objek yang sama seperti objs. Oleh itu, mengemas kini objectList[0].SimpleInt juga mengubah suai objs[0].SimpleInt.
Oleh itu, dalam contoh yang diberikan, kaedah ChangeToList akan mengembalikan 5, menunjukkan bahawa perubahan itu disebarkan kembali ke senarai asal. Untuk meringkaskan, ToList() mencipta senarai baharu, tetapi elemen yang terkandung di dalamnya mungkin masih merujuk objek dalam senarai asal. Tingkah laku ini amat relevan apabila bekerja dengan jenis rujukan seperti kelas atau tatasusunan.
Atas ialah kandungan terperinci Adakah `ToList()` Mencipta Senarai Objek yang Benar-benar Bebas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!