Cast malloc : A faire ou pas ? - C++ - Programmation
Marsh Posté le 19-03-2003 à 23:10:46
Citation : Les regles du C veulent que l'on cast le malloc |
faux. en C les conversion type* <-> void* sont implicites.
ca peut etre dangereux de caster par ce que le cast fait taire le compilo. l'erreur la plus courante, c'est do'ublier d'inclure <malloc.h > ou <stdlib.h>, mallo c est donc manquand, le protoype par défaut est donc insérer. en castant, tu te rendras compte à l'execution que ç afoire de partout. sans cast, tu le sauras des la compil.
donc pas la peine de le faire, ça surcharge le code pour rien
Marsh Posté le 20-03-2003 à 01:18:09
Quand je parlais des regles du C qui stipulaient de caster le malloc, cetait simplement parce que je lavais lu sur le bouquin ecrit par les créateurs du C ... et sinon merci bien de ton aide
Pas dautres remarques sur ce probleme ?
Marsh Posté le 20-03-2003 à 06:44:33
oui, mias c'est là plus une affaire de gout qu'autre chose en fait
edit: et de compilateur: à l'époque de la rédaction du K&R, les compilos bronchaient plus facilement, alors comme dit précédemment, le cast les faisait taire. mais aujourd'hui, pas besoin, les compilos modernes sont au courant de la norme
Marsh Posté le 20-03-2003 à 07:05:29
Je serai plutôt partisan de caster, car:
-Il est possible qu'une future version de C n'accepte plus la conversion de pointeur implicite.
-Ça rends le source compatible C++.
Je rapelle que le C actuel n'autorise plus les déclarations implicites.
De toutes façons je préfères utiliser new en C++.
Ok, je sors ->[]
Marsh Posté le 20-03-2003 à 12:05:01
http://www.isty-info.uvsq.fr/~rume [...] 2.html#q_1
12.1 Doit-on ou ne doit-on pas caster malloc() ? |
Marsh Posté le 19-03-2003 à 23:01:11
B'soir
Un probleme me turlupine quant à la reelle utilité du "castage" de malloc ...
Les regles du C veulent que l'on cast le malloc, mais j'ai lu sur dans de nombreux endroits, et sur des sites très serieux, que c'etait inutile voir carrément a éviter parfois.
En prenant en compte le fait que le compilateur ne fasse aucune remarque quant on ne le cast pas, quelle est la solution optimale ?? Mici !