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
628 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!

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