Video: Part1 Tutorial Membuat Aplikasi Perpustakaan Dengan php mysqli dan Bootstrap Halaman dinamis 2024
Pustaka C ++ standard menyediakan satu set lengkap matematik, masa, input / output, dan operasi DOS, untuk menamakan beberapa. Banyak program awal yang anda pelajari sebagai pemula menggunakan fungsi rentetan watak yang ditakrifkan dalam string string termasuk .
Jenis argumen untuk kebanyakan fungsi ini ditetapkan. Sebagai contoh, kedua-dua hujah untuk strcpy (char *, char *) mestilah penunjuk kepada rentetan aksara yang ditamatkan null - tidak ada yang masuk akal.
Terdapat fungsi yang boleh digunakan untuk pelbagai jenis. Pertimbangkan contoh fungsi maksimum (), yang mengembalikan maksimum dua argumen. Semua variasi berikut masuk akal:
int maksimum (int n1, int n2); // pulangkan maksimum dua bulat maksimum unsigned (unsigned u1, unsigned u2); maksimum double (double d1, double d2); char maksimum (char c1, char c2);
Di sini, anda ingin melaksanakan maksimum () untuk semua empat kes.
Sudah tentu, anda boleh memuatkan maksimum () dengan semua versi yang mungkin:
maksimum dua kali (double d1, double d2) {return (d1> d2)? d1: d2;} int maksimum (int n1, int n2) {return (n1> n2)? n1: n2;} maks maksimum (char c1, char c2) {return (c1> c2)? c1: c2;} // … ulangi semua jenis angka lain …
Pendekatan ini berfungsi. Sekarang C ++ memilih perlawanan terbaik, maksimum (int, int) , untuk rujukan seperti maksimum (1, 2) . Walau bagaimanapun, mewujudkan fungsi yang sama untuk setiap jenis pembolehubah ialah pembaziran masa yang kasar.
Kod sumber untuk semua fungsi maksimum (T, T) mengikuti corak yang sama, di mana T adalah salah satu daripada jenis angka. Ia akan menjadi sangat mudah jika anda boleh menulis fungsi sekali dan biarkan C + + membekalkan jenis T seperti yang diperlukan apabila fungsi itu digunakan. Malah, C ++ membolehkan anda melakukan ini dengan tepat. Mereka dipanggil definisi template .