Skip to content

Commit

Permalink
...
Browse files Browse the repository at this point in the history
  • Loading branch information
yves-chevallier committed Sep 19, 2024
1 parent 990f12f commit 0884b77
Show file tree
Hide file tree
Showing 5 changed files with 447 additions and 110 deletions.
1 change: 1 addition & 0 deletions docs/course-c/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ nav:
- 45-software-design
- 47-gui
- 48-network
- 49-safety
- 50-philosophy
- 90-exercises
1 change: 1 addition & 0 deletions docs/course-c/20-composite-types/generic-programming.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ La programmation générique est une technique de programmation qui permet de d

Néanmoins, la programmation générique en C est limitée par le fait que le langage n'est pas orienté objet et ne possède pas de couche de méta-programmation comme les *templates* en C++. Certains développeurs ont été jusqu'à inventer un nouveau langage comme le Vala pour palier à ces limitations. Vala est un meta-langage qui génère du code C à partir de code Vala. Il apporte le paradigme de la programmation orientée objet et de la programmation générique à C. Cependant, Vala n'est pas un langage très répandu en dehors de la communauté GNOME.

[](){#generic-keyword}
## Fonctions génériques

Prenons l'exemple de la fonction d'addition suivante. Elle est écrite pour des entiers et ne fonctionnera donc pas pour des flottants. Il faudrait la réécrire pour les flottants mais cela implique une collision de nom de fonction. Il faudrait alors définir autant de fonctions que de types avec des suffixes différents (`add_int`, `add_float`, etc.).
Expand Down
Loading

0 comments on commit 0884b77

Please sign in to comment.