Re: livres sur le langage
Citation:
Envoyé par Bibouda
Est un problème si il n'aborde pas la norme C99?
Non. La norme C90 avait déjà fait le tour du langage. La version C99 apporte quelques facilités, mais rien qui ne soit faisable en C90 avec un peu plus d'effort. Cela comprend:
- déclaration des variables où l'on souhaite, plutôt qu'uniquement en début de bloc. Pas de quoi se relever la nuit.
- support des commentaires types C++ (//). Ce n'est pas une révolution.
- tableaux à taille variable alloués automatiquement. C'est pour les allergiques de malloc(), pas de quoi casser trois pattes à un canard.
- initialisation des membres de structure de façon nommée. Idem, rien de bien impressionant.
- macros acceptant un nombre variable d'arguments (comme les fonctions variadic). Super, j'en avais vraiment besoin :?
Du côté positif, je ne vois que l'ajout du type long long, la sécurisation de quelques fonctions (ajout de snprintf, par exemple), et le refus d'un retour implicite de type int.
En résumé, apprendre le C90 n'a jamais tué personne, et c'est pas demain que ca va commencer...
Re: livres sur le langage
Citation:
Envoyé par DaZumba
- tableaux à taille variable alloués automatiquement. C'est pour les allergiques de malloc(), pas de quoi casser trois pattes à un canard.
Ce n'est pas tout a fait comparable, avec le VLA on ne peut pas savoir si on a pu obtenir la place demande (pas de retour a NULL), pour la gestion d'erreur c'est coton. De plus le tableau a la meme duree de vie qu'une variable locale.
Mis a part qu'elle est un peu plus facile d'acces pour le debutant, je ne vois que des inconvenients a cette methode
Citation:
Envoyé par DaZumba
- macros acceptant un nombre variable d'arguments (comme les fonctions variadic). Super, j'en avais vraiment besoin :?
Ben mine de rien, c'est quelquechose que j'aurais bien aime avoir a plusieurs reprises. J'ai reussi a m'en passer mais la solution n'est pas vraiment elegante (double parenthesage, duplication des macros, etc...)