SORU
8 Mayıs 2010, CUMARTESİ


C şablon typedef

Bir Dersim var

template<size_t N, size_t M>
class Matrix {
    // ....
};

Boyutları ile Matrix denk Vector (sütun vektör) N ve 1 yaratır typedef yapmak istiyorum. Böyle bir şey:

typedef Matrix<N,1> Vector<N>;

Derleme hatası üretir. Aşağıdaki istediğimi tam olarak benzer bir şey, ama değil oluşturur:

template <int N>
class Vector: public Matrix<N,1>
{ };

Bunun için bir çözüm ya da değil, çok pahalı bir çözüm / en iyi uygulama var mı?

CEVAP
8 Mayıs 2010, CUMARTESİ


C 11 ekledidiğer tanımlamalarşablonlar sağlar typedef, genelleştirilmesi olan:,

template <size_t N>
using Vector = Matrix<N, 1>;

Türü Vector<3> Matrix<3, 1> eşdeğerdir.


C 03, en yakın benzetme oldu:

template <size_t N>
struct Vector
{
    typedef Matrix<N, 1> type;
};

Burada, 16* *türü Matrix<3, 1> eşdeğerdir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Call Me Howard

    Call Me Howa

    18 AĞUSTOS 2012
  • Cristina Landa

    Cristina Lan

    28 Ocak 2010
  • KIT KAT

    KIT KAT

    3 EKİM 2005