Rumah >pembangunan bahagian belakang >C++ >Apakah yang Membentuk Penggunaan ODR dalam C?
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.
Mengikut piawaian C, satu entiti "digunakan odr" dalam kes berikut:
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!