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++] Petite précision

techslash
techslash
Niveau 8
26 janvier 2005 à 02:47:55

Bonjour à tous !

Je pense déjà avoir poser une question très similaire mais je n´arrive pas à retrouver la réponse dans mes backups :snif: -- n´étant pas certain, je m´excuse si je suis en train de poster un truc que j´ai posté au paravant.

J´aimerais simplement savoir, en c++, c´est propre de faire plusieurs new[] un à la suite de l´autre ? Ou est-il préférable de lancer un delete[] avant de refaire un new[] ?

JeanYvesYves
JeanYvesYves
Niveau 10
26 janvier 2005 à 09:08:33

si tu alloues un truc :

int a = new int[12];

alors il ne faut pas, apres, faire :

a = new int[24];
--> tu ecrases l´adresse du tableau de int 12 que tu ne retrouveras jamais : donc fuite de mémoire.
( a moins que tu n´aies copié l´adresse, mais bon, c´est sale de faire pluseiurs new de la meme var sans delete)

faut bien faire un
delete [] a;
avant de réallouer ton a :)

techslash
techslash
Niveau 8
27 janvier 2005 à 03:38:56

Merci beaucoup !

JeanYvesYves
JeanYvesYves
Niveau 10
27 janvier 2005 à 09:30:56

cependant, rien ne t´empeche, bien sur, de faire :

int a = new int[24];
int b = new int[12];
double c = new double[34];

etc ! !

tant que c´est des identifiants différents, tu en fais autant que tu veux.
C´est juste que sur le meme identifisant, si tu alloues 2 fois de suite, tu perds le 1er

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