CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

livre c++

[denshaotoko]
[denshaotoko]
Niveau 25
14 janvier 2015 à 17:02:07

bonjour,

est-ce que vous avez de bonnes sources/livres sur le fonctionnement/conception du langage c++
j'ai déjà lu le livre de claude delannoy, mais il est surtout axé utilisation du langage, il est pas très détaillé par exemple sur le fonctionnement interne de la virtualité, savoir bien ce qui se passe derrière le rideau avec la virtual pointer table etc
savoir comment fonctionne en interne les templates, ce qu'il se passe concretement à la compilation etc

les livres de scott meyers sont ils adapté à mes attentes ? si oui, lequel précisement, si non, avez-vous un livre/site web qui aborderait tout ça de manière suffisamment claire/détaillé

merci

xKatsuni
xKatsuni
Niveau 10
14 janvier 2015 à 17:16:54

Celui de Mathieu Nebra ?

LGV
LGV
Niveau 28
14 janvier 2015 à 17:27:39

Thinking in C++
Effective C++
More Effective C++
Modern C++ Design
Large Scale C++ Software Design

AzirFapII
AzirFapII
Niveau 8
14 janvier 2015 à 17:29:25

Non et non. Je déconseille celui de Nebra, l'humour est bel et bien exagéré (Humour :rire: ) et je trouve celui de Delannoy plus professionnel et plus bien abordé, même si celui de Nebra est bien pour les gros ( je dis bien les gros ) débutants, je crois pas qu'il te suffirait.

godrik
godrik
Niveau 30
14 janvier 2015 à 17:36:43

DenshaOtoko,
Les livres de Scott Meyers sont tres bon (il vient d'en publier un autre que je n'ai pas encore lu). Mais ils ne repondront pas a tes questions. Je regarde en ce moment le livre "A tour of C++". Ca a l'air tres bien aussi, mais encore une fois, c'est plus langage que implementation.

Ce que tu cherches a savoir ne depends pas du langage mais du compilateur. La meilleur source d'information est certainement la doc du compilateur et de lire l'assembleur genere.
Mais globalement les questions sont simple. Les fonctions virtuelle sont gere en ayant une (ou des) tableau de pointeurs. Et chaque fonction virtuelle correspond a une entre du tableau. Ce tableau est rempli a la construction de l'objet par le compilateur. Eventuellement certain compilateur choisisse de faire une table de pointeur par type (au lieu de par objet) et garde simplement un pointeur dans l'objet sur cette table. Ca fait une indirection de plus, mais ca sauve de la memoire.

Les templates. C'est con a mourrir. Le compilateurs fait essentiellement du copier coller (comme tu ferais si tu ecrivais un script bash pour genere le code) et compile le code resultant.

[denshaotoko]
[denshaotoko]
Niveau 25
15 janvier 2015 à 03:50:11

merci pour vos réponses

Le 14 janvier 2015 à 17:27:39 LGV a écrit :
Thinking in C++
Effective C++
More Effective C++
Modern C++ Design
Large Scale C++ Software Design

lequel parmis ceux que tu me cites est le plus orienté approche conception du langage (pas conception logiciel que l'on veut programmer, je parle bien de la conception du langage en lui même)
j'espère ne pas trop en demandé

Le 14 janvier 2015 à 17:36:43 godrik a écrit :
DenshaOtoko,
Les livres de Scott Meyers sont tres bon (il vient d'en publier un autre que je n'ai pas encore lu). Mais ils ne repondront pas a tes questions. Je regarde en ce moment le livre "A tour of C++". Ca a l'air tres bien aussi, mais encore une fois, c'est plus langage que implementation.

Ce que tu cherches a savoir ne depends pas du langage mais du compilateur. La meilleur source d'information est certainement la doc du compilateur et de lire l'assembleur genere.
Mais globalement les questions sont simple. Les fonctions virtuelle sont gere en ayant une (ou des) tableau de pointeurs. Et chaque fonction virtuelle correspond a une entre du tableau. Ce tableau est rempli a la construction de l'objet par le compilateur. Eventuellement certain compilateur choisisse de faire une table de pointeur par type (au lieu de par objet) et garde simplement un pointeur dans l'objet sur cette table. Ca fait une indirection de plus, mais ca sauve de la memoire.

d'accord je vois, cela dépend du compilateur, mais du coup tous les compilateurs ne se comportent pas de la même manière face à des choix d’implémentations de certains concepts fondamentaux comme la virtualité ou la généricité, si je regarde la documentation de g++, tout ne sera pas forcement vrai avec clang++ donc, mais tous ces compilateurs doivent surement respecter certaines normes de compilation du langage j'imagine non ?

Les templates. C'est con a mourrir. Le compilateurs fait essentiellement du copier coller (comme tu ferais si tu ecrivais un script bash pour genere le code) et compile le code resultant.

ok, ce serait un peu comme des macros de préprocesseurs en C, la phase de préprocesseur qui copie colle du code avant de compiler, donc là les templates fonctionneraient pareil, mais il faudrait que je voie ça en pratique et en détail pour vraiment intérioriser l'approche, voir la forme du code résultant, ce qu'il copie colle en fonction de l’interprétation de la template etc
je vais voir du côté de la documentation de g++ qui me semble être le compilateur c++ le plus conventionnel (non?)

mais je ne trouve pas la doc officielle de g++
https://gcc.gnu.org/onlinedocs/
je vois ça, mais je vois que la doc sur la librairie standard c++, dans cette dernière il y a explication de certains mode de compilation, mais pas de doc sur le compilateur en lui même

merci

gromouton
gromouton
Niveau 6
18 janvier 2015 à 16:49:39

http://www.manpages.info/linux/gcc.1.html
http://openclassrooms.com/courses/c-maitriser-le-compilateur-g
https://github.com/gcc-mirror/gcc

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment