Senarai Permulaan lwn. Tugasan Pembina: Perbezaan Dalaman dan Kod
Dalam kod C yang diberikan, terdapat soalan mengenai perbezaan antara menggunakan senarai pemula ahli dan menetapkan nilai dalam pembina.
Ahli Senarai Pemula
Senarai pemula ahli, yang disertakan dalam kurungan selepas nama pembina, digunakan untuk memulakan:
Tugasan Pembina
Sebaliknya, tugasan pembina digunakan untuk memulakan ahli bukan pemalar dan memberikan nilai kepada pembolehubah bukan rujukan.
Dalaman Perbezaan
Secara dalaman, kod yang dijana sedikit berbeza antara kedua-dua pendekatan. Apabila menggunakan senarai pemula ahli, pengkompil meletakkan nilai ahli terus ke dalam objek kelas semasa pembinaan. Ini mengelakkan operasi penugasan tambahan.
Perbezaan Kod
Membandingkan coretan kod yang diberikan:
MyClass::MyClass() : _capacity(15), _data(NULL), _len(0) { }
MyClass::MyClass() { _capacity = 15; _data = NULL; _len = 0; }
Kedua-dua coretan akan memulakan ketiga-tiga ahli persendirian _kapasiti, _data dan _len dengan nilai yang ditentukan. Walau bagaimanapun, coretan pertama menggunakan senarai pemula ahli, manakala coretan kedua menggunakan tugasan pembina.
Bila Menggunakan Senarai Pemula Ahli
Senarai permulaan mesti digunakan:
Untuk pemulaan standard (ahli bukan tetap, bukan rujukan), mana-mana pendekatan boleh digunakan. Secara umum, senarai pemula ahli lebih disukai atas sebab kecekapan.
Atas ialah kandungan terperinci Senarai Pemula Ahli lwn. Tugasan Pembina: Bilakah Anda Harus Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!