Bolehkah saya Menentukan Fungsi Ahli Sebaris dalam Fail .cpp dan Masih Mendapat Sebaris?

Mary-Kate Olsen
Lepaskan: 2024-10-28 17:34:30
asal
309 orang telah melayarinya

 Can I Define Inline Member Functions in a .cpp File and Still Get Inlining?

Definisi Fungsi Ahli Sebaris dalam Fail .cpp

Dalam C , fungsi ahli sebaris sebaiknya ditakrifkan dalam fail pengepala untuk membenarkan pengkompil untuk menyelaraskannya semasa penyusunan. Walau bagaimanapun, situasi tertentu mungkin memerlukan meletakkan pelaksanaan di luar pengepala, seperti kebergantungan bulat antara kelas.

Dalam contoh yang diberikan, kelas A termasuk kelas B, yang seterusnya termasuk pengisytiharan hadapan A. Untuk mengelakkan pekeliling ini, fungsi getA() kelas B ditakrifkan dalam B.cpp. Ini menimbulkan persoalan: adakah pengkompil masih sebaris getA(), dan jika ya, definisi manakah yang diutamakan?

Mengikut Soalan Lazim C, takrifan fungsi sebaris mesti diletakkan dalam fail pengepala untuknya untuk kelihatan kepada semua fail sumber yang menggunakannya. Oleh itu, dalam senario ini, pengkompil tidak akan sebaris getA(), kecuali apabila dipanggil dalam B.cpp itu sendiri.

Amalan terbaik menentukan bahawa kata kunci sebaris hanya boleh digunakan sekali, dalam definisi fungsi di luar kelas badan. Oleh itu, mana-mana kata kunci sebaris yang diletakkan dalam fail pengepala adalah berlebihan.

Malangnya, tiada kaedah yang diketahui untuk menentukan fungsi ahli sebaris dalam fail .cpp sambil masih memastikan sebarisnya oleh pengkompil.

Atas ialah kandungan terperinci Bolehkah saya Menentukan Fungsi Ahli Sebaris dalam Fail .cpp dan Masih Mendapat Sebaris?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!