C Template Typedef untuk Vektor Lajur Matriks
Dalam C , tugas biasa ialah mencipta vektor lajur yang setara dengan matriks dengan dimensi tertentu . Sebagai contoh, kelas Vektor yang diperoleh daripada kelas Matriks adalah wajar. Malangnya, menggunakan mekanisme typedef standard untuk tujuan ini membawa kepada ralat penyusunan.
C 11 Penyelesaian: Pengisytiharan Alias
C 11 memperkenalkan perisytiharan alias, generalisasi typedef, yang membolehkan pengkhususan templat. Kod berikut menyediakan penyelesaian:
template <size_t N> using Vector = Matrix<N, 1>;
Dengan pengisytiharan ini, jenis Vector<3> adalah bersamaan dengan Matriks<3, 1>.
Penyelesaian C 03
Dalam C 03, penyelesaian yang paling serupa dengan perisytiharan alias ialah menggunakan typedef bersarang:
template <size_t N> struct Vector { typedef Matrix<N, 1> type; };
Dalam kes ini, Vektor<3>::jenis bersamaan dengan Matriks<3, 1>.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Jenis Vektor Lajur Menggunakan Templat C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!