bonjour à tous,
pour un petit projet qui me permet d'améliorer mes connaissances en c++, j'ai besoin de créer un vecteur à 3 dimensions. En regardant dans le livre de Bjarne Stroustrup, il semblerais que la meilleur solution serait d'utiliser le type valarray.
Ce que j'aimerais faire c'est de pourvoir créer un nouveau type du style vecteur3d pour créer plus simplement plusieurs vecteur. Cela à fin de pourvoir définir des produit scalaire, vectoriel etc..
Petite précision, mes vecteur auront des points avec des types différents.
Alors voila ce que j'ai essayé de faire
mais il me marque une erreur de syntaxe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 // Vecteur.h //définition d'un vecteur à 3dimension et qui sera créer et défini par un type T #ifndef VECTEUR #define VECTEUR #include<valarray> template <T, dim>class Vecteur { private: std::valarray<T,dim> vecteur3df(dim); public: Vecteur(); ~Vecteur(); }; #endif
De plus dans mon livre préféré, il est marque qu'on peut faire initialiser un valarray grâce à un tableau comme suit.
Mais ça ne fonctionne pas non plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 double point[]={x,y,z}; std::valarray<double> Vecteur3d(point,3);
Sinon, y a encore des "slice" pour travailler avec des matrices. En gros un tout petit peu perdu, donc si qqn pouvais m'aider à voir un peu plus claire, ce serait sympa!
Pendant mes recherche, je me pose une question: Boost ne me simplifierais pas la vie pour les opération vectorielles et matricielles?
A++
VMFA-2 Sven
Partager