Rumah > pembangunan bahagian belakang > C++ > Apakah yang Membentuk Penggunaan ODR dalam C?

Apakah yang Membentuk Penggunaan ODR dalam C?

Patricia Arquette
Lepaskan: 2024-12-08 11:39:12
asal
768 orang telah melayarinya

What Constitutes an ODR-Use in C  ?

Apakah itu "odr-use"?

Dalam konteks C , "odr-use" merujuk kepada situasi di mana definisi entiti mesti disediakan semasa penyusunan . Istilah ini membezakannya daripada pengisytiharan semata-mata, yang tidak memerlukan definisi sebenar.

Keupayaan untuk mengisytiharkan entiti tanpa memberikan definisi segera adalah penting untuk pengaturcaraan modular, kerana ia membenarkan pemisahan antara muka (fail pengepala) daripada pelaksanaan (fail sumber). Walau bagaimanapun, untuk memastikan gelagat yang konsisten merentas unit kompilasi, piawaian C mentakrifkan peraturan khusus apabila entiti mesti ditakrifkan.

Takrifan "penggunaan odr"

Mengikut piawaian C, satu entiti "digunakan odr" dalam kes berikut:

  • Namanya muncul sebagai ungkapan yang berpotensi dinilai, bermakna ia boleh digunakan dalam ungkapan yang sebenarnya dinilai
  • Ia ialah ahli set fungsi calon semasa resolusi beban lampau, walaupun jika tidak dipilih
  • Ia ialah fungsi maya bukan tulen , walaupun tidak digunakan secara eksplisit

Penggunaan ODR dan Fungsi Ahli Templat Kelas

Dalam konteks templat kelas, fungsi ahli hanya digunakan jika ia digunakan secara odr. Ini bermakna jika templat kelas dijadikan instantiated dalam satu unit kompilasi, hanya fungsi ahli yang sebenarnya dipanggil atau digunakan sebagai sebahagian daripada resolusi beban lampau akan digunakan dalam unit tersebut. Fungsi ahli lain akan kekal tidak segera sehingga ia digunakan.

Tingkah laku ini penting untuk mengelakkan instantiasi ahli templat yang tidak diperlukan, yang boleh mengurangkan masa penyusunan dengan ketara dan meningkatkan kecekapan program keseluruhan. Ia juga membolehkan fleksibiliti dalam reka bentuk templat, membolehkan pengguna mencipta kelas generik dan membuat instantiat hanya fungsi yang diperlukan berdasarkan keperluan khusus mereka.

Atas ialah kandungan terperinci Apakah yang Membentuk Penggunaan ODR dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan