Ketiadaan fungsi kuasa integer dalam perpustakaan standard C mempunyai menimbulkan persoalan dalam kalangan pengaturcara. Walaupun kelihatan mudah, fungsi ini tidak terdapat dalam set alat matematik yang disediakan.
Sebelum C 11, tiada lebihan integer dalam fungsi pow. Peninggalan ini berkemungkinan berakar umbi dalam konteks sejarah pembangunan C dan C.
Pada zaman awal C, pengiraan titik terapung kurang lazim dalam pengaturcaraan sistem. Selain itu, matlamat ANSI C adalah untuk mengkodifikasikan amalan sedia ada dan bukannya membuat inovasi. Oleh itu, menambah pengendali kuasa integral bukanlah keutamaan.
C pada mulanya mewarisi banyak atribut daripada C. Ia direka terutamanya sebagai tambahan kepada C dengan ciri berorientasikan objek, bukannya baik pulih sepenuhnya terasnya kefungsian.
Badan penetapan piawaian C beroperasi dengan garis panduan khusus. Garis panduan ini mengutamakan kesederhanaan dan ketekalan bahasa, mengehadkan penambahan ciri berlebihan atau bertindih.
Selain itu, jawatankuasa penetapan piawaian mesti mempertimbangkan kos peluang untuk memperkenalkan ciri baharu. Menambah ciri yang kelihatan remeh mungkin menggantikan penambahbaikan lain yang lebih bernilai daripada dimasukkan ke dalam standard.
Dalam C 11, perubahan ketara telah dibuat: penambahan lebihan beban yang membenarkan hujah integer dalam fungsi pow. Perubahan ini sejajar dengan trend yang lebih luas untuk memasukkan lebih banyak fungsi matematik ke dalam perpustakaan standard.
Untuk hujah titik terapung, fungsi mengendalikan limpahan dan aliran bawah dengan cara yang konsisten dan eksplisit. Untuk hujah integer, walau bagaimanapun, ia secara berkesan meningkatkannya kepada dua kali ganda untuk melaksanakan operasi.
Ketiadaan fungsi pow(int base, int exponent) dalam versi C terdahulu telah dipengaruhi oleh sebab sejarah dan kekangan penetapan piawai. Pengenalannya dalam C 11 mencerminkan keperluan pengaturcara yang berkembang dan peningkatan berterusan keupayaan perpustakaan standard.
Atas ialah kandungan terperinci Mengapa Fungsi pow(int base, int exponent) Hilang dalam Perpustakaan Standard C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!