Oui, ça ne se limite pas au cast de malloc(). Il y a des différences sémantiques subtiles. Pour plus d'infos:
http://nicolasj.developpez.com/articles/incompatibilites/
...
Type: Messages; Utilisateur: Thierry Chappuis
Oui, ça ne se limite pas au cast de malloc(). Il y a des différences sémantiques subtiles. Pour plus d'infos:
http://nicolasj.developpez.com/articles/incompatibilites/
...
L'utilisation de l'opérateur new est idiomatique et très fortement conseillée en C++. Elle a l'avantage de retourner une adresse typée, ce qui rend le conversion inutile. Par ailleurs, new appelle...
Si tu décides de te limiter volontairement, pour une raison qui t'appartient, au sous-ensemble (!= C90) commun entre C et C++, c'est ton choix. Je ne comprends toutefois pas l'intérêt de compiler du...
Vu comme ça, pourquoi n'écris-tu pas:
int n = 10;
int m;
/*...*/
m = (int) n;
:sm: Non! Quelle utilité? C'est justement ce genre d horreurs qu'il faut à tout prix éviter. Ca n'a aucun sens de caster un tableau de 4 tableaux de 4 double en un pointeur sur double. (Je me demande...
Je tiens à rappeler qu'en C90, c'est à priori légal d'appeler une fonction sans avoir déclaré de prototype (même si c'est une pratique horrible). Dans ce cas, le compilateur suppose que la fonction...
De toute manière, dans les deux cas, le code généré (avec -O2) est strictement identique avec mon gcc (je sais, tu as dis que tu t'en foutais!):
div:
pushl %ebp
movl %esp,...
L'argument de l'effet documentaire du cast est le seul qui me parle (un peu).
Thierry
Voici quelques explications:
C'est inutile!
En cas d'oubli de l'inclusion de stdlib.h, la malloc() n'est pas déclarée. Dans ce cas, le compilateur suppose que malloc() retourne un entier de...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.