30

Je n'ai pas le temps de bien lire les reponses déjà postées, donc ça a déjà peut etre été proposé, mais le plus simple à mon avis c'est de faire une classe avec un tableau dynamique dedans d'une taille multiple de N.
Tu te fais une methode *push_back* qui vérifie si tu as encore de la place. => A chaque fois que tu dépasse, tu réalloues N octets suplementaires.
Comme ça tu ne réalloues pas trop souvent.

31

MacIntoc
: Sasume>fait une liste chainé.


non :
Sasume
: 3. Je l'utilise comme un tableau.

32

en koi ça l'empèche de l'utiliser comme un tableau ??
Et puis s'il ont vu New et Delete, je penses pas que c pour utiliser realloc.
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

33

c pas que ça empeche, c'est que les temps d'accès seraient bcp plus long.

34

Bah... le but de son truc c pas d'avoir kkchose de rapide mais qui utilise l'allocation dynamique.
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

35

Tu n'en sais rien.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

36

tu réalloues N octets suplementaires. Comme ça tu ne réalloues pas trop souvent
Comme l'ont fait remarquer PpHd et Pollux, il est beaucoup plus efficace d'augmenter la capacité du tableau par un facteur dépendant de sa capacité courante.
=> Si tu fais capacité = capacité + X tu obtiens une insertion d'éléments dans le tableau en o(n²)
=> Si tu fais capacité = capacité * 2 tu obtiens une insertion d'éléments dans le tableau en o(n)

37

Sasume>tu as dit " En cours, ils n'ont pas introduit les primitives *alloc du C, donc je suppose qu'ils veulent qu'on fasse sans.
On n'a vu que new et delete, donc il faut qu'on fasse avec."
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

38

Oui, mais ils veulent quand même qu'on fasse qqch de rapide.
Sinon, le truc a été fait depuis longtemps, et j'ai eu 17.
Je ne comprends pas pourquoi je n'ai pas eu plus, parce que j'avais rajouté pas mal d'extensions, et surtout, le prof n'a mis aucun commentaire sur ma feuille pour signaler des erreurs de ma part...
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

39

bah perso j'ai fini par m'habituer à ce genre de choses...
Une fois par exemple on devait faire [je resume] une page en php qui interroge un serveur pop3 et qui liste les emails et leurs contenus (mais juste le texte).

Pour afficher le contenu, il fallait *sauter le header*, ce qui se résumait, pour eux, à prendre tout ce qui se trouvait apres la premiere ligne vide. En plus, comme un certain nombre de camarades n'étaient pas foutus de se trouver un serveur pop3, les profs ont décidé de nous faire afficher les emails stockés dans un repertoire....

Moi j'étais resté sur la version pop3, et j'avais ajouté un parseur qui affichait la meilleure version disponible du message (html versus ascii pur par exemple), et une extraction des pieces jointes... (gestion base_64 par exemple))

...

Je me suis retrouvé avec l'avant derniere note ... gol (il est vrai que c'était pas tout à fait fini (pas d'interface), mais bon, comparé aux autres...)

40

Ah si, à un endroit, j'utilise "std::cout" alors que j'avais défini dans le header des constantes OUT et IN à utiliser à la place.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

41

oula, c grave, ça embarrassed

42

Pen^2: Je vois oui, dans mon école, il faut que les algorithmes soient exactement ceux du cours par exemple, c'est horrible, des fois intuile etc. neutral

43

pfffff ! sad
Enfin ça c'était quand j'étais en DUT à Reims. Ici à Belfort ça va mieux. Enfin ça depend des profs, évidemment embarrassed
Parce que certains sont vraiment nuls... :/

44

N'empeche je me demande bien pq on fait mumuse avec realloc, free et compagnie alors qu'on parle de C++ trifus
moi je dis new & delete powa et on n'en parle plus grin
avatar
Un ptit gars qui programme en C/asm sur sa casio et qui vient voir de temps en temps comment ça se passe par ici :)
Un peu de verdure dans ce monde obscur

45

et c quoi l'équivalent de realloc en new/delete ? tongue

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

46

euh... grin
La copie barbare en buffer, le delete, et puis le new triso
avatar
Un ptit gars qui programme en C/asm sur sa casio et qui vient voir de temps en temps comment ça se passe par ici :)
Un peu de verdure dans ce monde obscur

47

Le new, la copie puis le delete !

48

ah? re-triso
avatar
Un ptit gars qui programme en C/asm sur sa casio et qui vient voir de temps en temps comment ça se passe par ici :)
Un peu de verdure dans ce monde obscur

49

bah oui, Orwell, sinon avec ton buffer, t'es obligé de faire
new buffer
copie data -> buffer
delete data
new data[plus grande]
copie buffer -> data
delete buffer

=> tu copies deux fois, tu alloues deux fois, tu delete deux fois. Bref, tu doubles le temps nécessaire.

50

Tiens y'en a quand même un qui a eu pitié de moi et qui a marché grin
avatar
Un ptit gars qui programme en C/asm sur sa casio et qui vient voir de temps en temps comment ça se passe par ici :)
Un peu de verdure dans ce monde obscur

51

t'as oublié de mettre un "re-re-triso" tilt