Rumah >pembangunan bahagian belakang >C++ >Mengapa Terdapat Dua Simbol untuk Pembina C?

Mengapa Terdapat Dua Simbol untuk Pembina C?

Linda Hamilton
Linda Hamiltonasal
2024-11-24 02:41:09331semak imbas

Why Are There Two Symbols for C   Constructors?

Simbol Dwi untuk Pembina C

Itanium C ABI menentukan bahawa nama pembina yang rosak termasuk maklumat tentang jenis dan parameternya. Sehubungan itu, dua entri pembina yang diperhatikan dalam perpustakaan berpunca daripada jenis pembina mereka yang berbeza:

  • Pembina Objek Lengkap (C1): Pembina ini memulakan sepenuhnya objek, termasuk mana-mana kelas asas maya .
  • Pembina Objek Asas (C2): Pembina ini memulakan objek itu sendiri, bersama-sama dengan ahli data dan kelas asas bukan maya.

Simbol Dwi dan Ralat Takrifan Berbilang

Walaupun mempunyai dua entri, takrifan simbol yang bercanggah tidak timbul kerana penggunaan akhiran C1 dan C2. ABI memastikan bahawa nama yang rosak adalah unik, menyediakan sokongan pengkompil untuk mengendalikan kedua-dua jenis pembina ini secara berbeza.

Butiran Tambahan

  • Jika tiada pangkalan maya kelas, pembina objek lengkap dan asas adalah sama, dan simbol mungkin dialiaskan kepada kod yang sama di bawah pengoptimuman.
  • Keperluan untuk simbol dwi pembina didorong terutamanya oleh sokongan untuk polimorfisme, di mana objek yang berbeza mungkin mewarisi kelas asas yang berbeza, memerlukan permulaan khusus.
  • Tingkah laku ini pernah dipaparkan dalam output penapisan c tetapi tidak disertakan lagi.

Atas ialah kandungan terperinci Mengapa Terdapat Dua Simbol untuk Pembina C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn