il ne faut pas obliger à utiliser les classe, seulement encourager, car c'est quelque chose qui viens en pratiquant.
Si c'est pour faire une classe Helloworld qui écrit "Hello world" quand on appel le constructeur .
Je n'ai jamais prétendu qu'il fallait l'obliger :
Citation : germino
Je propose d'ajouter sur le premier post que les solutions apportées devraient(et pas "doivent") utiliser la POO un maximum (eg: pas la moitié du programme dans le main ou fonctions libres !).
@lmghs et Goten : merci de me ramener sur le droit chemin de la raison (me suis un peu trop échauffé tout à l'heure )
@germino Le c++ ne se résume pas à la POO. Je ne dit pas que tu es incompétent (ce n'est pas de toi dont je parlais dans mon message), mais justement si les exos s'adressent à des débutants, autant leurs montrer les bonnes pratiques, et ici c'est "ne pas mettre tout en POO".
C'est tout ce que voulais dire^^.
oui mais il faut aussi leur montrer quand c'est mieux d'utiliser la POO, et vous ne pourrez pas me contredire que je vous dit que c'est très rare de ne pas en avoir besoin (je parle de absolument pas hein )
@germino: Non, il est des cas où la POO ne ferait qu'alourdir le programme.
@germino (quelques posts après): Tu sais que tu enfonces une porte ouverte ?
En fait, lorsqu'on commence à penser à de telles améliorations, il est intéressant de sortir les classes. Mais, avant, àmha non.
Au final, il y a des cas où il faudrait, et d'autres où il ne faudrait pas. Si il n'y a rien à vraiment encapsuler, ni rien à hériter, autant faire un ensemble de fonctions libres, toujours àmha.
@@ache: +1 (surtout pour le code sale !)
@lmghs: Surtout qu'en c++11 il y a maintenant ce qu'il proposait : std::begin() et std::end(), et même std::next() et std::size().
@germino (dernier message): Plutôt "privilégier l'usage de la SL", parce qu'à mon avis c'est plus important que la POO. Parce que quelque chose nécessitant la POO obligera à passer par là.
Et parler du c++11 serait une bonne idée aussi, à mon avis, donc je vous la soumets.
A fond pour la SL, en fait ça me semblait tellement évident que je n'ai pas pensé à en parler...
Par contre pour le c++11, c'est génial, mais les débutants n'ont aucune base dessus. Je pense qu'on en rediscutera juste après sa sortie officielle, ce serait àmha une très bonne idée de diriger les débutants dessus le plus tôt possible pour éviter un flop comme le C99... qui n'est d'ailleurs toujours pas présenté dans les tuto du SDZ... :S
A fond pour la SL, en fait ça me semblait tellement évident que je n'ai pas pensé à en parler...
Par contre pour le c++11, c'est génial, mais les débutants n'ont aucune base dessus. Je pense qu'on en rediscutera juste après sa sortie officielle, ce serait àmha une très bonne idée de diriger les débutants dessus le plus tôt possible pour éviter un flop comme le C99... qui n'est d'ailleurs toujours pas présenté dans les tuto du SDZ... :S
C++11 est sorti officiellement hein... (bon ok en considérant que le FDIS est la sortie officielle mais le reste est une formalité).
Edit : En fait je faisais une erreur, le mot de passe ne sera pas retiré, vu que c'est la version payante de la norme (enfin, il faudra attendre qu'elle soit diffusée relativement illégalement, de toute façon c'est ce qu'il semblerait que les membres du comité souhaitent, seule l'organisation de validation y gagne de l'argent). Du coup je mets à jour le message pour éviter les fausses infos.
Ah, je me souvenais bien l'avoir vu il n'y a pas longtemps dans le RSS.
Je l'avais survolé, il explique plusieurs choses mais n'est pas complet - et heureusement, d'ailleurs, la dernière version de la future norme fait ~1300 pages de mémoire.
Pour moi, le meilleur rapport contenu/longueur est wikipédia, avec après un ctrl+f dans la norme pour avoir les détails.
il y as pas une doc officielle ?
et sinon vous savez quand elle sera apliquée ? et il faudra faire des mises à jour au niveau des compilo ?
Le standard est payant. Appliquée? quand les vendeurs de compilos le voudront. Oui faudra mettre à jour.
Sinon gcc a un très bon support (il manque la partie sur le nouveau modèle mémoire et pas mal de choses liée au threading IIRC, rvalue ref pour this etc mais le plus gros est là).
Clang est entrain de bien rattrapé.
xlC a quelques features.
MSVC10 en a aussi pas mal (activée par défaut d'ailleurs), rvalue ref (malheureusement l'implémentation est fausse), variadic, auto, lamdba etc etc..
Pour nous, c'est facile d'apprendre rien qu'en lisant le wiki (bien fait d'ailleurs !), mais pour les programmeurs moins expérimentés du SDZ, ça risque de poser problème...
Remarque, on pourrait ne les utiliser que dans les exercices avec un haut niveau...
Bonjour, je propose que pour qu'une solution soit acceptée elle doive être présentée avec des explications. Parce que nous avons peut-être l'habitude de comprendre un code rien qu'en le lisant, mais ce n'est pas le cas de tout le monde...
On peut profiter de ces explications pour faire comprendre les notions de C++11 utilisées par exemple...
vous savez où je pourrais trouvé un tutoriels assez complet montrant les nouvelles disponibilité lié à la nouvelles normes ? Je voudrais aussi savoir si elle vaut le coup de l'apprendre et pourquoi (si sa ne dérange pas car je vois que tout le monde ici la connais mais bon...).
Si tu débutes totalement, il vaut mieux commencer par apprendre le c++ "classique".
Mais dès que tu as fini le cours principal de ce site, je pense que tu peux t'attaquer au tutoriel sur le SdZ, puis à wikipédia, et enfin, si tu en as le courage, à la norme elle-même.
La moitié des choses ne sert à rien ... hum ...:
- range-based for loop : j'utilise ; cela remplace avantageusement le squelette que j'utilisais pour vim
- énumérations, pas encore eu l'occasion, mais de nouveau, cela va remplacer mes squelettes et autres safe-enums
- bug des chevrons : bug-fix surtout utile pour les non-initiés
- les initializer-list, alors étrangement c'est le second truc que j'ai commencé à utiliser après les lambdas
- auto : hors lambdas, pas encore vraiment utilisé car j'aime bien rester explicite pour l'instant
- decltype, j'ai bidouillé un truc avec ; j'aurais l'occasion de m'en resservir. Pas un truc pour débutants
- nullptr, je m'en servirai, c'est un certitude (pas encore fais la moindre alloc dans mes essais en C++11)
- lambdas : le premier truc donc que j'ai commencé à utiliser, avec std::function
- les nouveaux types de la SL : j'en abuse
Après le tuto est loin d'être exhaustif : typiquement j'utilise les shared_ptr (ou assimilés) depuis un moment.
Pareil pour tous les trucs liés au threading que j'attends avec impatience.
J'attends aussi des trucs peu communs comme l'héritage de constructeurs pour remplacer d'autres squelettes liés aux classes de type position_absolue+delta (date/durée, point/vecteur, fichier/chemin relatif, etc) par des solutions 100% C++ (et template).
La moitié des choses ne sert à rien ? Pas vraiment non.
Et oui pour répondre à ta question, un débutant devrait commencer par le C++0x, ça sert à rien d'apprendre une norme qui va tombé en désuétude, sinon on finira avec un C99 like et ça c'est con.
D'autant plus que la nouvelle norme se veut plus "noob-friendly" (le fait que l'objectif ait été atteint ou pas est discutable mais il n'en reste pas moins que certaine chose sont plus simples oui).
oui j'ai fini le tutoriels "principale" avec l'ancienne norme etc... mais me il me semble que tout ce que propose la nouvelle norme, on peut le faire avec l'ancienne mais d'une façon différente d'où ma question
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Cours de C++ moderne
🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles - ♡ Copying is an act of love.