Pemusnahan Objek Sementara dalam C
Dalam C , objek sementara dicipta atas permintaan semasa penilaian ungkapan. Objek ini wujud hanya dalam skop ungkapan dan dimusnahkan secara automatik selepas ia berakhir.
Pertimbangkan contoh berikut dengan tiga baris kod:
Foo foo{"three"}; Foo{"one"}; std::cout << "two" << '\n';
Kod mencetak "satu," " dua," dan "tiga" dalam susunan itu. Tingkah laku ini timbul daripada peraturan berikut yang mengawal pemusnahan objek sementara:
Kemusnahan di Akhir Penilaian Ungkapan
Objek sementara dimusnahkan setelah selesai menilai ungkapan penuh di mana mereka dicipta. Dalam contoh ini, objek sementara untuk "satu" dan "tiga" dimusnahkan selepas barisan masing-masing berada di dalamnya.
Pengecualian kepada Peraturan
Sementara objek sementara pemusnahan biasanya mengikut peraturan ini, pengecualian khusus wujud, seperti yang digariskan dalam [class.temporary] p4-p7:
Dalam contoh yang disediakan, tiada satu pun daripada pengecualian ini terpakai, jadi objek sementara dimusnahkan selepas garisan masing-masing, menghasilkan output yang ditentukan.
Atas ialah kandungan terperinci Bilakah Objek Sementara Dimusnahkan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!