Je suppose que je suppose que le réduit à Je suis assez nouveau à C ++. Quelqu'un peut-il me dire comment comprendre ce type de code? Il existe plusieurs C'est un peu accablant. P> [demande-> en-têtes (). getMethodvalue ())] code>. p>
. Code> opérateur et
-> code> opérateur. Je perds la trace des classes et autres. P>
3 Réponses :
En réalité, ces types de codes sont courants dans des langues prenant en charge la programmation orientée objet. P>
La raison la plus probable est que si elle est combinée bien avec la hiérarchie de la classe et l'héritage, la ligne unique réduit de nombreuses instructions if-else à la syntaxe de TERSE comme celle que vous avez mentionnée. Je vous suggère d'étudier sur les styles de programmation orientés objet, en particulier le polymorphisme pour comprendre ce type de code. P>
Le . code> est utilisé pour accéder à des trucs à l'intérieur de l'objet (fonctions, variables, etc.) L'opérateur
-> code> est juste un
. code> opérateur mais pour les pointeurs. Dans votre cas, vous appelez
Demander code> 'S
en-têtes code> qui renvoie un objet. Pour cet objet, vous appelez
getMethodvalue code> fonction. P>
réponses déjà expliquées, que pour Un exemple serait; P> . code> opérateur et
-> code> opérateur;
Test tObj;
tObj.print() // print i;
Savez-vous quels pointeurs sont?
. code> est juste un accès membre et
-> code> est le même, juste pour les pointeurs. Les IDes modernes peuvent vous aider à suivre les types d'expressions
Ceux-ci ressemblent à une combinaison chaînée et d'appels de membres (mon C ++ est rouillé). Comme @churill a mentionné que vous devez savoir comment fonctionnent les pointeurs et les fonctions membres, puis comment les chaîner (utiliser les résultats de la dernière commande pour la prochaine action). Ce n'est pas toujours une bonne pratique en C ++ en fonction de la fonction ne peut pas renvoyer le résultat attendu. Un parcours C ++ gratuit One YouTube vous pourriez essayer: YouTube.com/...