Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mencipta Alias ​​Jenis Vektor daripada Templat Matriks dalam C?

Bagaimanakah Saya Boleh Mencipta Alias ​​Jenis Vektor daripada Templat Matriks dalam C?

Susan Sarandon
Lepaskan: 2024-12-30 12:59:11
asal
898 orang telah melayarinya

How Can I Create a Vector Type Alias from a Matrix Template in C  ?

Mencipta Typedef untuk Vektor seperti Matriks Menggunakan Alias ​​Templat

Pertimbangkan templat kelas berikut:

template<size_t N, size_t M>
class Matrix {
    // ....
};
Salin selepas log masuk

Matlamatnya adalah untuk menentukan typedef yang mencipta Vektor (vektor lajur) yang bersamaan dengan Matriks dengan saiz N dan 1. Pada mulanya, percubaan dibuat menggunakan typedef:

typedef Matrix<N,1> Vector<N>;
Salin selepas log masuk

Walau bagaimanapun, ini mengakibatkan ralat penyusunan. Penyelesaian yang serupa tetapi tidak serupa telah dicapai menggunakan warisan kelas:

template <size_t N>
class Vector: public Matrix<N,1>
{ };
Salin selepas log masuk

Untuk mencari penyelesaian yang lebih sesuai, kita beralih kepada pengisytiharan alias yang diperkenalkan dalam C 11:

template <size_t N>
using Vector = Matrix<N, 1>;
Salin selepas log masuk

Ini membolehkan penciptaan jenis alias Vector yang bersamaan dengan Matriks.

Dalam C 03, anggaran serupa boleh dicapai menggunakan struct dengan typedef bersarang:

template <size_t N>
struct Vector
{
    typedef Matrix<N, 1> type;
};
Salin selepas log masuk

Di sini, jenis Vector< N>::jenis bersamaan dengan Matriks.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Alias ​​Jenis Vektor daripada Templat Matriks dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan