Malloc et Free ... truc que je pige pas [C++] - C++ - Programmation
Marsh Posté le 16-05-2003 à 12:59:15
c'est normal
Code :
|
copie de string = strcpy
Marsh Posté le 16-05-2003 à 13:02:33
c'est pas pour faire mon taz, mais si tu as un peu de temps (genre 5min) regarde du cote des std::string, au moins t'auras plus a te soucier de ce fatras
Marsh Posté le 16-05-2003 à 14:38:48
chrisbk a écrit : c'est pas pour faire mon taz, mais si tu as un peu de temps (genre 5min) regarde du cote des std::string, au moins t'auras plus a te soucier de ce fatras |
malloc -> C
string -> C++
Marsh Posté le 16-05-2003 à 14:40:42
ToxicAvenger a écrit : |
heuh oui, mais le rapport avec mon post ?
ah si, cpris, mais je me permet de te montrer ca :
Code :
|
ou alors le C a vachement evoluer depuis la derniere fois que j'en ai fait
Marsh Posté le 16-05-2003 à 16:39:53
Kyle_Katarn a écrit : C'est effectivement du C++ |
malloc/free c'est du C
Marsh Posté le 16-05-2003 à 20:12:00
Kyle_Katarn a écrit : mais ça marche en C++ ;-) |
Tout dépend si tu veux coder proprement en utilisant new/delete (qui est plus simple) ou coder comme un porc en faisant du mix C/C++
Marsh Posté le 16-05-2003 à 20:31:24
je vais convertir alors ...
mais j'aimerais que tu m'explique en quoi, pour de simple variables (et non des structures complexes comme des classes), new/delete est mieux que malloc/free (avec un autre argument que "c'est du C" )
Marsh Posté le 16-05-2003 à 22:12:05
Kyle_Katarn a écrit : je vais convertir alors ... |
Le premier intéret que j'y vois, c'est que qd tu donnes des bouts de code personne te fait chier avec ca...
Mais bon ca donne un code plus propre, plus lisible (AMHA), et ca peut éventuellement éviter des erreurs du style oubli de sizeo(machin)...
Marsh Posté le 16-05-2003 à 22:44:51
ToxicAvenger a écrit : |
je peux jouer moi aussi ?
fork -> C
vector -> C++
j'ai bon ?
Marsh Posté le 17-05-2003 à 12:54:14
Kyle_Katarn a écrit : je vais convertir alors ... |
Quand tu parles anglais, tu ne fous pas des mots d'espagnol au milieu, même si ton interlocuteur comprend les 2. C'est de la simple logique, si tu ne la comprends pas, délaisse la programmation pour te lancer dans la poésie ou la sculpture...
Marsh Posté le 17-05-2003 à 13:25:43
Konar a écrit : |
Marsh Posté le 17-05-2003 à 13:38:08
le problème de malloc/free en C++, c'est que ça ne fait pas appel au constructeur/destructeur, d'ou le problème...
et puis tourne toi vers les strings, ça te prendra moins de temps à developper et ça t'evitera de faire des bourdes enormes puisqu'apparemment, avant meme de parler de C++, tu as des lacunes en C
Marsh Posté le 17-05-2003 à 13:56:48
[mode mauvaise langue]
faut dire que les programmeurs venant de VB font souvent des bêtises avec les pointeurs
[/mode mauvaise langue]
Marsh Posté le 17-05-2003 à 14:06:50
antp a écrit : [mode mauvaise langue] |
mais peut on considerer les gens qui font du vb comme des programmeurs ?
A+
Marsh Posté le 17-05-2003 à 14:18:00
et un petit tour vers les std::list serait le bienvenu: depuis le temps, tu penses bien que le problème des listes est résolu
et pi j'ai comme l'impression que t'es faché avec les références...l'achat d'un livre s'impose Kyle
Marsh Posté le 17-05-2003 à 15:58:49
Babouchka a écrit : |
certes
Marsh Posté le 17-05-2003 à 22:04:04
++Taz a écrit : |
Disons que je "pense en pointeurs"...
Pour l'achat d'un livre, je préfère parler avec des gens qui savent sur un forum plutôt que d'avoir le réflexe désocialisant de me plonger dans un bouquin au premier problème venu.
Quand aux vannes sur VB, si vous me trouvez un meilleur langage d'IHM vous me faites signe...
(ok sortit du prototypage IHM je reconnais que ça sert pas à grand chose)
Marsh Posté le 17-05-2003 à 22:08:51
Konar a écrit : |
fork ? connais pas, c'est pas standard. C'est posix.
Marsh Posté le 17-05-2003 à 22:10:00
++Taz a écrit : le problème de malloc/free en C++, c'est que ça ne fait pas appel au constructeur/destructeur, d'ou le problème... |
c'est surtout qu'il croit que le C++ n'est qu'une extension du C. Alors que ces 2 langages n'ont strictement rien à voir, mais bon. Dans ces cas là, C# et java c'est la même chose.
Marsh Posté le 17-05-2003 à 22:10:53
Kyle_Katarn a écrit : |
trop facile: C#
Et VB n'est pas un "langage d'ihm" (ca ne veut rien dire d'ailleurs. De plus en français, c'est langage sans u. Tu mélanges C et C++, anglais et francais... t'es pas bordélique comme garçon )
VB c'est du RAD, point barre.
A la rigueur en "langage d'ihm" je verrais bien UIL/MRM mais bon...
Marsh Posté le 17-05-2003 à 22:12:40
Kyle_Katarn a écrit : |
Delphi/C++Builder
Marsh Posté le 17-05-2003 à 22:15:22
Oui mais t'es bien placé pour savori que je débute en Delphi ;-)
Bon, je pense qu'on va clore ce topic qui va partir en troll non constructifs, merci de votre aide pour ceux qui ont bien voulu m'aider.
Marsh Posté le 17-05-2003 à 22:18:20
Kyle_Katarn a écrit : Oui mais t'es bien placé pour savori que je débute en Delphi ;-) |
on t'as repondu pourtant. Si tu prends la mouche dès qu'on te fait remarquer tes faiblesses, en effet, fermons le topic. Ca ne sert a rien de te répondre donc.
Marsh Posté le 17-05-2003 à 22:21:57
c'est pas ce que je voulais dire et c'est ce genre de truc que je voulais éviter.
Je suis conscient de mes faiblesses, c'est pour cela que je remercie toujours ceux qui veulent bien m'aider.
Marsh Posté le 17-05-2003 à 22:23:03
non Kyle a raison, dès qu'on commence à comparer des langages ça part en troll ou en discussion sans fin
Marsh Posté le 17-05-2003 à 23:03:06
antp a écrit : non Kyle a raison, dès qu'on commence à comparer des langages ça part en troll ou en discussion sans fin |
je vois pas où ca partait en live là
Marsh Posté le 17-05-2003 à 23:34:16
Kyle_Katarn a écrit : |
ben apparemment, ça porte pas ses fruits
Marsh Posté le 17-05-2003 à 23:38:54
ToxicAvenger a écrit : |
Ça risquait
Marsh Posté le 18-05-2003 à 00:09:38
ReplyMarsh Posté le 18-05-2003 à 13:14:35
Question en passant (plus pour antp je pense):
ça sert à "rien" d'utiliser les std::string avec Borland C++ Builder, comme il y a AnsiString qui m'a l'air de faire exactement les même choses?
Merci!
Marsh Posté le 18-05-2003 à 13:16:27
Ca dépend, on peut vouloir faire du code un minimum portable.
Marsh Posté le 18-05-2003 à 13:23:54
code portable et/ou sans les VCL de Borland -> std::string
code uniquement pour C++Builder et utilisant massivement les VCL de Borland -> AnsiString
Pour les échanges avec l'interface graphique si on utilise les VCL, AnsiString est quand même plus pratique
Marsh Posté le 19-05-2003 à 00:02:35
ReplyMarsh Posté le 19-05-2003 à 21:09:02
*tab=(char*)malloc(10*sizeof(char));
*tab="123456789\0987654321\0";
attention si tu utilises un strcpy, ca va prendre plus de 10 caractères.
Marsh Posté le 16-05-2003 à 12:55:05
Mon Free me plante le prog avec une histoire de bad heap pointer :
où la fonction GetNewStateLists est la suivante :
Merci d'avance,
Kyle