C++: les Astérisques, Esperluette et les Étoiles?
Récemment je suis tombé sur cette vidéo sur Paradigmes De Programmation et le prof. des termes tels que des Astérisques, des Étoiles, et Esperluette.
C'est ce que la façon dont il a utilisé ces opérateurs:
int i = 37;
float f = *(float*)&i;
Et comment il a fait part de la ligne 2 alors que de l'écrire:
Float "f" est égal à astérisque float étoile, l'esperluette de je
Je comprends ce que astérisque et esperluette veux dire, mais quelle est la signification de l'utilisation de la star ici? Est-il synonyme d'asterisk?
- Il a oublié de mentionner les parenthèses.
- ...et le point-virgule.
- Je me demande, si vous dites quoi que ce soit, pourquoi ne pas simplement dire ce qu'il fait à la place...
- "Égale" est
==
.=
est une "cession". Je me demande combien de fois ce mec écrit un code C++... - si il avait lu comme "float f flibble doobry float oscillation de blurb je" il aurait toujours signifié la même chose dans le code. Ne soyez pas trop accroché sur les noms des symboles, parce que les gens vont toujours utiliser des termes différents pour eux (en Particulier les personnes dont la langue maternelle est autre chose que l'anglais). Il est plus important de comprendre comment le compilateur interprète ces symboles en fonction du contexte dans lequel ils sont utilisés.
- Le professeur dit probablement le sens littéral du symbole au lieu de "opérateur d'affectation" pour des raisons de concision souci.
Vous devez vous connecter pour publier un commentaire.
La
*
après lafloat
est utilisé pour former un type. Très souvent lorsqu'on se réfère à un type de pointeur dans les mots que les gens vont dire "étoile" après le type plutôt "pointeur", par exemple. "malloc renvoie un void star". Je n'ai jamais entendu quelqu'un utiliser "astérisque" pour désigner un type de.La
*
au début est utilisé de référence le pointeur ainsi accéder à la valeur de points (interprété comme unfloat
pour les raisons suivantes cast). Encore une fois, dans ma propre expérience, je n'ai jamais entendu quelqu'un utiliser "astérisque" ici. Les gens ont tendance à dire "de référence" pour décrire l'opération en cours.Je ne lis pas trop. Il y a deux contextes différents ici, comme vous l'avez justement remarqué et aussi longtemps que vous comprenez ce qu'ils veulent dire à partir d'un C++ point de vue alors que c'est bien.
Dans ce cas à gauche * droite et * a différentes sematics. Gauche * signifie que la valeur de l'obtention par refernce. Droit * déclare type de référence.
Oui. Maj+8 sur MON clavier windows. Votre exemple montre pourquoi vous ne devriez pas essayer de lire un programme C++ à haute voix symbole par symbole. "Équivaut à" en C++ est "==". "=" est d'affectation. Et en Plus il a oublié de dire à propos des parenthèses et des points-virgules. À ce stade, (4 fautes en une seule ligne de code), il pourrait ont écrit la fichue chose silencieusement.
Il aurait été beaucoup mieux si le mec a lu la présente partie:
un peu comme ceci:
"Prendre pointeur vers i, C-style fonte en pointeur sur float, déréférencement, et d'attribuer de la valeur à la variable de type float f". Fait beaucoup plus de sens que "star/asterisk" charabia.
P. S. Si vous aimez vraiment les virelangues, vous pouvez essayer de la lecture à haute voix n'importe quel code qui utilise boost, iostreams, l'opérateur <<, les distributions, les opérations au niveau du bit et de "chameau cas" de faire la distinction entre les classes et les méthodes. Cet exercice ne va pas améliorer vos compétences en programmation, bien sûr...
Je pense que le présentateur voulais juste éviter un silence étrange, alors qu'il écrit le code. Autant que je sache, il n'y a pas de différence entre asterisk et l'étoile dans ce contexte.