Captain ad-hoc miam les bon batonnets de tux | pas de matrice toutes prêtes dans la STL, mais c'est pas long à faire:
Code :
- template <typename T> class matrice : public std::vector<T> {
- unsigned n,m;
- public:
- matrice(unsigned _m, unsigned _n) : m(_m), n(_n), std::vector<T>(n*m) {}
- T& operator()(unsigned i,unsigned j) { return (*this)[i*n+j]; }
- const T operator()(unsigned i,unsigned j) const { return (*this)[i*n+j]; }
- // et si tu préferes l'operateur crochet:
- std::vector<T>::iterator operator[](unsigned i) { return begin()+i*n; }
- std::vector<T>::const_iterator operator[](unsigned i) const { return begin()+i*n; }
- unsigned nrow() const { return m; }
- unsigned ncol() const { return n; }
- };
|
|