Maison > développement back-end > C++ > Pourquoi le pré-incrément (i) est-il une valeur L alors que le post-incrément (i) ne l'est pas ?

Pourquoi le pré-incrément (i) est-il une valeur L alors que le post-incrément (i) ne l'est pas ?

Susan Sarandon
Libérer: 2024-11-03 00:24:29
original
807 Les gens l'ont consulté

Why Is Pre-Increment (  i) An L-Value While Post-Increment (i  ) Is Not?

Pourquoi le pré-incrémentation est-il une valeur L ?

Alors que l'incrémentation pré-incrémentée (i) et post-incrémentation (i) une variable, ils diffèrent considérablement lorsqu’il s’agit d’une valeur l. Une valeur l est une expression qui fait référence à un emplacement mémoire modifiable.

Explication

Post-incrément (i ) renvoie la valeur d'origine de la variable i plutôt que une référence à celui-ci. Par conséquent, je ne peux pas être affecté à i car il représente une valeur calculée sans emplacement modifiable. Considérons l'exemple suivant :

int i = 5;
i++;  // Cannot assign a value to i++ because it does not represent a variable.
Copier après la connexion

D'un autre côté, pre-increment ( i) renvoie une référence à la variable incrémentée. Cela permet de lui être attribué, car il pointe vers un emplacement mémoire modifiable. Par exemple :

int i = 5;
++i;  // The pre-increment returns a reference to the incremented variable.
Copier après la connexion

Par conséquent, je peux être considéré comme une valeur l car il fournit une référence à un emplacement mémoire modifiable, alors que je ne peux pas car il représente une valeur calculée. De plus, le pré-incrémentation est préféré pour des raisons de performances, en particulier avec des objets lourds comme les itérateurs, en raison de son approche basée sur les références.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal