Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menentukan Jenis Vektor Lajur Menggunakan Templat C?

Bagaimanakah Saya Boleh Menentukan Jenis Vektor Lajur Menggunakan Templat C?

DDD
Lepaskan: 2024-12-18 13:49:10
asal
740 orang telah melayarinya

How Can I Define a Column Vector Type Using C   Templates?

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>;
Salin selepas log masuk

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;
};
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan