Pile rapide en C++ - C++ - Programmation
Marsh Posté le 04-05-2008 à 13:23:51
ReplyMarsh Posté le 04-05-2008 à 13:48:15
Joel F a écrit : quitte à utiliser boost, essaye std::stack<T, boost::array<T,N> > |
Merci Joel, je me dis aussi que ce que je fais doit exister quelque part, mais visiblement je ne peux pas utiliser boost::array comme conteneur :
Code :
|
D'après la doc de Boost::array : "It doesn't fulfill the requirements of a "sequence" (see Section 23.1.1, [lib.sequence.reqmts] of the C++ Standard)"
Donc je reformule mes questions :
1 - Est ce qu'il y a manière de faire ca sans réinventer la roue ?
2 - Ou est le bug s'il y en a un ? (j'aimerai qd meme comprendre ce que je rate)
Marsh Posté le 04-05-2008 à 14:17:16
ah mince vrai
pour ton bug, tu peut donner qqs exemples simple où ça plante. parce que là à vue d'oeil c'est pas facile :E
Marsh Posté le 04-05-2008 à 16:58:03
Bon, j'aurai du regarder du coté des choses simples en premier...
Code :
|
a remplacer par
Code :
|
et c'est réglé..! Mais merci pour la piste boost Je trouve ca étrange q'un conteneur de taille fixe ne soit proposé ni dans la STL ni dans Boost.
Marsh Posté le 04-05-2008 à 17:36:21
bah, c'est le role de array. Je pense que c'est par design qu'il n'est pas sequence-compliant.
Marsh Posté le 04-05-2008 à 13:11:20
Bonjour a tous, j'ai surement une poutre dans l'oeil ce matin, je ne trouve pas le bug :-/
J'essaye d'implémenter une pile rapide (pour remplacer std::stack<T, std::vector<T> > ) ; la taille est fixe, et voila mon code :
Vous vous en doutez, je ne posterai pas ici si ca fonctionnait :-) J'utilise ca dans un programme complexe, et des que je remplace std::tack par mon machin, je suis au pays des mauvais resultats...donc, avant de renter plus profondément dans le débuggage, je me demande si j'ai raté quelque chose de vraiment évident ?
Merci d'avance