si t est tableau d entier, comment savoir le nombre d element,
Publicité
Posté le 23-09-2001 à 20:18:48
Willythekid
Posté le 23-09-2001 à 20:28:05
Ben tu le connais forcement puisque tu l'a alloué sous la forme int tab[15];
non...je crois que j'ai pas compris la question
---------------
Si t'es pas net, reste a la buvette
aqwsezsxdr
Posté le 23-09-2001 à 20:33:24
si t'as int t[300]
sizeof(t)/sizeof(int) retourne 300
mais si t'as int *t=new int[300] ben la y'a pas de moyen
pour recuperer la taille. Tu peux passer par un vecteur d'entiers:
vector<int> t(300);
t.size(); //retourne 300
slvn
Posté le 23-09-2001 à 20:38:22
voila, c est que reccupere un pointeur donc je peux pas savoir la taille du "tableau", ok, bon c pas grave, merci quand meme
[edtdd]--Message édité par slvn--[/edtdd]
sayajin
Posté le 24-09-2001 à 03:38:16
Si si c'est pareil, lorque c'est un pointeur il divise la taille du tableau par la taille d'un élément avec leur nombre d'octets.
la viper
Posté le 24-09-2001 à 10:45:09
???
char *ptr;
sizeof(ptr) = 4 octects ..
pour connaitre la taille de ton tableau dynamique, tu es obligé de connaitre le nombre d'element qui se trouve dedans .. Et pour ca le mieux et d'utiser une variable que tu incrementeras / decrementeras à chaque fois que tu ajoutes ou supprimes un element dans ton tableau.
apres taille = sizeof(char)*nbelement;
koulip31
Posté le 24-09-2001 à 13:31:00
for(i=0;tab[i];i++)
;
return(i);
et voila? non?
tgrx
My heart is pumping for love
Posté le 24-09-2001 à 13:35:11
koulip31> non, y a pas de vérification des limites en C++
La solution la plus simple, la plus propre, la plus portable... (la mieux quoi ), c'est un vector comme l'a dit aqwsezsxdr. La méthode size() fonctionnera dans tous les cas...
koulip31
Posté le 24-09-2001 à 13:45:58
ma fonction va voller dans le decord !!!!
geronimo!!!!!
warrf pas cool le C++
tgrx
My heart is pumping for love
Posté le 24-09-2001 à 14:10:36
koulip31> en fait tu t'es trompé de topic, mais pour planter une bécane, rien de tel que de sortir d'un tableau ... mais attention avec des vraies valeurs aberrantes
Publicité
Posté le 24-09-2001 à 14:10:36
sayajin
Posté le 24-09-2001 à 15:20:09
la viper a écrit a écrit :
???
char *ptr;
sizeof(ptr) = 4 octects ..
pour connaitre la taille de ton tableau dynamique, tu es obligé de connaitre le nombre d'element qui se trouve dedans .. Et pour ca le mieux et d'utiser une variable que tu incrementeras / decrementeras à chaque fois que tu ajoutes ou supprimes un element dans ton tableau.
apres taille = sizeof(char)*nbelement;
Justement supposons que le tableau a n éléments de 4 octets, sa tailel sera de n*4 octects ! ! !