Che cos'è rvalue e lvalue in c++?

Sommario:

Che cos'è rvalue e lvalue in c++?
Che cos'è rvalue e lvalue in c++?

Video: Che cos'è rvalue e lvalue in c++?

Video: Che cos'è rvalue e lvalue in c++?
Video: [CppDay20] Understanding value categories in C++ (Kris van Rens) 2024, Novembre
Anonim

TL;DR: "lvalue" significa "espressione che può essere posizionata sul lato sinistro dell'operatore di assegnazione" oppure significa "espressione che ha un indirizzo di memoria". “ rvalue” è definito come “tutte le altre espressioni”.

Che cos'è lvalue e rvalue in C con l'esempio?

Ad esempio, un'assegnazione prevede un lvalue come operando sinistro, quindi vale quanto segue: int i=10; Ma questo non è: int i; 10=io; Questo perché ho un indirizzo in memoria ed è un lvalue. Mentre 10 non ha una posizione di memoria identificabile e quindi è un valore.

Qual è la differenza tra rvalue e lvalue?

Un lvalue si riferisce a un oggetto che persiste oltre una singola espressione. Un valore è un valore temporaneo che non persiste oltre l'espressione che lo utilizza.

Che cos'è il valore in C?

Valore-L: “valore-l” si riferisce alla locazione di memoria che identifica un oggetto. l-value può apparire come lato sinistro o destro di un operatore di assegnazione(=). il valore l rappresenta spesso come identificatore.

Cosa sono i riferimenti di valore?

I riferimenti Rvalue sono una piccola estensione tecnica al linguaggio C++ I riferimenti Rvalue consentono ai programmatori di evitare copie logicamente non necessarie e di fornire funzioni di inoltro perfette. Sono principalmente pensati per aiutare nella progettazione di prestazioni più elevate e librerie più robuste.