[C++] truc = new int[200] ça initialise à zéro en standard...
minusplus
Posté le 29-06-2001 à 17:41:03
ou c'est propre à GNU ? ça fait partie de la norme ou pas ?
(z'avez vu, je me permets même de me soucier de la protabilité ! )
Publicité
Posté le 29-06-2001 à 17:41:03
janoscoder
Posté le 29-06-2001 à 19:10:34
non, si t'as des 0, c'est de la chance car le constructeur par défaut des entiers ne fait rien.
en revanche, si tu fais:
vector<int> truc(200,0);
ça fera un vector de 200 ints initialisés à 0.
---------------
-----------------------
minusplus
Posté le 29-06-2001 à 19:14:06
merci master janos !
bon ben on va initialiser...
quand à utiliser la STL, pour ce que je fais, c'est pas possible....
janoscoder
Posté le 29-06-2001 à 19:30:28
même si tu ne peux pas utiliser les conteneurs de la STL, les algos génériques fonctionnent avec les array de type C:
#include <algorithm>
using namespace std;
int *truc=new int[200];
fill(truc, truc+200, 0);
et voilà!
---------------
-----------------------
gilou
Modérateur Modosaurus Rex
Posté le 30-06-2001 à 02:40:13
Un compilo qui initialise tout par defaut a zero (Comme le compilo C sur DEC Ultrix autrefois) ca donne de mauvaises habitudes. Le jour ou tu recompile avec un compilo qui initialise rien du tout (sur Sun par exemple), bonjour les bugs. (Oui, c'est du vecu )
A+,
minusplus
Posté le 02-07-2001 à 16:12:26
gilou > d'ou ma question de programmeur consciencieux...