Outils d'utilisateurs

Outils du Site


programmez_avec_le_langage_c

Ceci est une ancienne révision du document !


Ce cours n'est plus à jour, il est préférable de ne pas le suivre. Je vous recommande le cours sur Zeste de Savoir : https://zestedesavoir.com/tutoriels/822/la-programmation-en-c-moderne/.

Débuter en C++ moderne

Cours de C++ moderne

Création d'applications en C++ moderne par la pratique

Avant-propos

Premiers pas

Langage

Compléments

Bases du calcul numérique

Langage

Compléments

Conserver les valeurs en mémoire

Langage

Compléments

Collections et algorithmes

Langage

Compléments

Chaînes avancées et expressions régulières

Compléments

Créer des fonctions

Langage

Compléments

Créer des algorithmes

Langage

Compléments

Entrées et sorties

Langage

Compléments

  • cout en detail
  • variables d'environnement
  • signals, abort, exit
  • gestion des buffers avec les streams, concepts de latence, debit, cache.

Conception logicielle et fonctions

Langage

https://www.famkruithof.net/uuid/uuidgen

Les bibliothèques logicielles réutilisables

  • documentation, commentaire, codes d'exemple
  • physical design
  • namespace, dépendances. l'espace de noms global et anonyme
  • modules, conception en couches, utilisation de n-1 et n+1
  • abi et C
  • variables globales, étude de std::cout

Les outils de développement

Les classes à sémantique de valeur

Langage

Compléments

Pratiquer

Les classes à sémantique d'entité

Langage

Compléments

  • La Pile et le Tas, création et destruction
  • théorie des graphes, arbres
  • héritage multiple
  • pourquoi les manipuler via indirections ? aliasing, smart ptr
  • points de variation : comment faire varier le comportement d'un programme ? (directive de compilation, template police/traits, héritage, DP stratégie) Quand utiliser quelle technique ? Impact sur la qualité du code (maintenabilité, évolutivité, etc)
  • durée de vie et propriétaire des objets

calculateur de systeme de vote de condorcet

Pratiquer

Bibliothèques externes


Le C++03

Pratiquer (A trier)

Notes:

  • conversion implicite et explicite
  • indirections, adaptateurs, raw ptr/ref
  • “Make interfaces easy to use correctly and hard to use incorrectly” - Scott Meyers

https://sciencetonnante.wordpress.com/2015/10/16/la-machine-a-inventer-des-mots-video/ https://github.com/fffaraz/awesome-cpp https://github.com/rigtorp/awesome-modern-cpp https://www.reddit.com/r/dailyprogrammer/ http://morpheo.inrialpes.fr/people/Boyer/index.php?id=m1-mosig http://www.iquilezles.org/www/index.htm https://zestedesavoir.com/billets/2181/pourquoi-la-recherche-en-langage-de-programmation/ http://www.stroustrup.com/resource-model.pdf https://en.wikipedia.org/wiki/Category:Computer_architecture_statements

How to teach C++

- https://www.youtube.com/watch?v=SUqKlMcOblM - https://www.youtube.com/watch?v=YnWhqhNdYyk - https://www.youtube.com/watch?v=tTexD26jIN4 - https://www.youtube.com/watch?v=fX2W3nNjJIo - sylabus : https://github.com/cjdb/cpp-open-syllabus/blob/master/comp6770.md

Exos

À suivre...

programmez_avec_le_langage_c.1567281131.txt.gz · Dernière modification: 2019/08/31 21:52 par gbdivers