Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1313 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Declarer des matrices de taille variable...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Declarer des matrices de taille variable...

n°334296
Tetedeienc​h
Head Of God
Posté le 16-03-2003 à 04:12:13  profilanswer
 

le tout en etant le plsu efficace et rapide possible...
 
Y a un truc qui existe deja ?
 
car je vais avoir besoin d'une big matrice NxM contenant des double, et j'utiliser dans mon prog 3d comme base pour mes donnees...
 
y a un truc qui existe deja ou autre ? L'ideal serait que je puisse acceder a ses valeurs via matrice[i][j]; :D
 
merci ;)

mood
Publicité
Posté le 16-03-2003 à 04:12:13  profilanswer
 

n°334297
os2
Posté le 16-03-2003 à 05:39:48  profilanswer
 

tetedeiench a écrit :

le tout en etant le plsu efficace et rapide possible...
 
Y a un truc qui existe deja ?
 
car je vais avoir besoin d'une big matrice NxM contenant des double, et j'utiliser dans mon prog 3d comme base pour mes donnees...
 
y a un truc qui existe deja ou autre ? L'ideal serait que je puisse acceder a ses valeurs via matrice[i][j]; :D
 
merci ;)


 
regarde du côté des vecteur stl
 
http://www.sgi.com/tech/stl/


---------------
Borland rulez: http://pages.infinit.net/borland
n°334475
Captain ad​-hoc
miam les bon batonnets de tux
Posté le 16-03-2003 à 16:09:56  profilanswer
 

pas de matrice toutes prêtes dans la STL, mais c'est pas long à faire:
 

Code :
  1. template <typename T> class matrice : public std::vector<T> {
  2.   unsigned n,m;
  3. public:
  4.   matrice(unsigned _m, unsigned _n) : m(_m), n(_n), std::vector<T>(n*m) {}
  5.   T& operator()(unsigned i,unsigned j) { return (*this)[i*n+j]; }
  6.   const T operator()(unsigned i,unsigned j) const { return (*this)[i*n+j]; }
  7.   // et si tu préferes l'operateur crochet:
  8.   std::vector<T>::iterator operator[](unsigned i) { return begin()+i*n; }
  9.   std::vector<T>::const_iterator operator[](unsigned i) const { return begin()+i*n; }
  10.   unsigned nrow() const { return m; }
  11.   unsigned ncol() const { return n; }
  12. };


n°334632
elrond
Posté le 16-03-2003 à 20:11:41  profilanswer
 


 
Ca fonctionne bien, mais ca met des warnings à la compilation...
 
"warning: `typename std::vector<T, std::allocator<_CharT> >::iterator' is implicitly a typename"

n°334638
Captain ad​-hoc
miam les bon batonnets de tux
Posté le 16-03-2003 à 20:16:30  profilanswer
 

Elrond a écrit :


 
Ca fonctionne bien, mais ca met des warnings à la compilation...
 
"warning: `typename std::vector<T, std::allocator<_CharT> >::iterator' is implicitly a typename"


 
effectivement, j'ai donné le code sans tester :D le compilateur a raison, il faut mettre "typename" devant std::vector<T>::iterator et std::vector<T>::const_iterator

n°334640
elrond
Posté le 16-03-2003 à 20:19:07  profilanswer
 

Tu pourrais expliquer à quoi ca sert exactement "typename" s'il te plait.

n°334651
Captain ad​-hoc
miam les bon batonnets de tux
Posté le 16-03-2003 à 20:48:48  profilanswer
 

Elrond a écrit :

Tu pourrais expliquer à quoi ca sert exactement "typename" s'il te plait.


 
c'est expliqué précisement ici http://www.comeaucomputing.com/tec [...] /#typename
En gros le compilateur ne peut pas être sûr que std::vector<T>::iterator est le nom d'un type, et le typename sert à lever l'ambiguité et à dire "je confirme, c'est un type".
 
Il faut utiliser typename à chaque fois que tu fais réference à un type déclaré à l'intérieur d'une classe template.

n°334654
elrond
Posté le 16-03-2003 à 20:51:52  profilanswer
 

Merci :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Declarer des matrices de taille variable...

 

Sujets relatifs
Récupérer l'adresse HTTP complète avec une variable serveur ?obtenir la taille de la mémoire libre...
[Bash] arithmétique de base : incrementer un variable :-([C] Comment passer des matrices par adresse??
[VBA] Gérer les controles d'une Form avec une variable...changer la taille de la font sur un pda?
metre variable jvs dans un script phpProblème de variable en JS
Probleme de passage de variable en parametre (type=file)[PHP] Variable dans variable
Plus de sujets relatifs à : [C++] Declarer des matrices de taille variable...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR