CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

(c++) Initialisation d'un membre tableau

dognclebsmonpot
dognclebsmonpot
Niveau 5
16 mai 2005 à 15:16:18

J´ai une petite question : l´une de mes classes comporte, en tant que memebre de données private, un tableau d´entier qu´il me faudrait initialiser à l´instanciation de l´objet.
J´usqu´à présent je mettais un énorme listing de :

monTableau[0] = valeurSpecifique1;
monTableau[1] = valeurSpecifique2;
. ..

Mais c´est assez laid.
N´y a il pas moyen de faire autrement, avec un initialisateur de membre ou autre ? ( et sans passer par une variable globale)

lockscash
lockscash
Niveau 6
16 mai 2005 à 15:50:40

He bien tu peux initialiser un tableau lors de sa déclaration comme ca :

int Array[3] = {Value1, Value2, Value3};

Mais tu peux faire ca uniquement lors de l´initialisation, si ton tableau est déclaré plus haut, soit tu fait ta méthode mais qui peut etre fastidieuse si ton tableau est gros, soit tu utilise une boucle pour le remplir. Je te propose ca, mais c´est pas extra.

int Array[3];
. ..
int TempArray[3] = {Value1, Value2, Value3};
for ( int i=0 ; i<3 ; i++ )
Array[i] = TempArray[i];

Moi j´aime bien stocker mes données dans des fichiers ( .txt ou autres) afin de remplir mes tableaux.

lockscash
lockscash
Niveau 6
16 mai 2005 à 15:51:27

He bien tu peux initialiser un tableau lors de sa déclaration comme ca :

int Array[3] = {Value1, Value2, Value3};

Mais tu peux faire ca uniquement lors de l´initialisation, si ton tableau est déclaré plus haut, soit tu fait ta méthode mais qui peut etre fastidieuse si ton tableau est gros, soit tu utilise une boucle pour le remplir. Je te propose ca, mais c´est pas extra.

int Array[3];
. ..
int TempArray[3] = {Value1, Value2, Value3};
for ( int i=0 ; i<3 ; i++ )
Array[i] = TempArray[i];

Moi j´aime bien stocker mes données dans des fichiers ( .txt ou autres) afin de remplir mes tableaux.

lockscash
lockscash
Niveau 6
16 mai 2005 à 15:52:39

Ahhhh mon dieu... Lapintade jsui désolé pour ce double poste... j´ai po fait exipré ! :non2:

gollumkawder
gollumkawder
Niveau 10
16 mai 2005 à 16:08:29

Non non je crois que c´est mort il va te sacrifier sur l´autel de jv à titre d´exemple ( :

lockscash
lockscash
Niveau 6
16 mai 2005 à 16:25:05

ouiiinnnnn moi qui tenait tant à la vie :snif2:

dognclebsmonpot
dognclebsmonpot
Niveau 5
16 mai 2005 à 17:26:10

" int Array[3] = {Value1, Value2, Value3};"

Oui mais tu ne peux pas avoir recours à ce type de méthode pour un membre de donnée au sein d´une classe ( ou d´une structure,union,...)

lockscash
lockscash
Niveau 6
16 mai 2005 à 17:29:55

ouaip je sais. C´est pour ca que j´ai proposé la deuxième méthode. Je pense pas qu´il y ai de solution miracle surtout si tu veux remplir un tableaux avec une suite de d´entier n´ayant pas de rapport l´un à l´autre.

JeanYvesYves
JeanYvesYves
Niveau 10
16 mai 2005 à 18:12:22

Sinon, tu peux faire une fonction a parametre variable ( comme printf) qui te remplit ton tableau.
Prototype :

void remplittableau(int* tab,int nb,...)

et tu utilises va_start et compagnie dedans...

Ainsi, tu peux appeler :

remplittableau(tab,5,6,-7,9,5,3);
ou
remplittableau(tab,4,i,i*3,b,7);

etc... ça la rend souple ta fonction :)
Jette un oeil du coté de stdarg.h

lockscash
lockscash
Niveau 6
16 mai 2005 à 18:22:06

hum hum.. c´est très interessant ca. Je pense jamais à utiliser cette technique, c´est vrai que ca règlerai ton problème.

JeanYvesYves
JeanYvesYves
Niveau 10
16 mai 2005 à 18:23:32

c´est la technique du printf :) dans printf, tu peux mettre autant d´arguments que tu veux :-)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment