lvalue

/ Align = "left" / : "(trójdzielny operator warunkowy)

Dlaczego pierwszy zwraca referencję? int x = 1; int y = 2; (x > y ? x : y) = 100; A drugi nie? int x = 1; long y = 2; (x > y ? x : y) = 100; Właściwie, drugi w ogóle się nie skompilował - "not lvalue left of assignment".

Dlaczego a+ + + + + b nie działa?

int main () { int a = 5,b = 2; printf("%d",a+++++b); return 0; } Ten kod daje następujący błąd: Error: lvalue ... brze. int main () { int a = 5,b = 2; printf("%d",a++ + ++b); return 0; } Co oznacza błąd w pierwszym przykładzie?

Czy literalne ciągi znaków i wartości funkcji zwracają wartości lvalue czy rvalue?

Zastanawiam się tylko, czy literalny łańcuch jest lvalue czy rvalue. Czy inne literały (jak int, float, char itp.) są lvalue czy rvalue? Czy wartość zwracana funkcji to lvalue czy rvalue? Jak odróżnić?

C++: czy wartość zwracana jest wartością L?

Rozważ ten kod: struct foo { int a; }; foo q() { foo f; f.a =4; return f;} int main() { foo i; i.a = 5; q() = i; } Żaden kompilator nie narzeka na to, nawet Clang. Dlaczego q() = ... linia jest poprawna?

Dlaczego C++0x rvalue reference nie jest domyślne?

Jedną z fajnych nowych funkcji nadchodzącego standardu C++, C++0x, są " referencje rvalue."Odniesienie rvalue jest podobne do ... owy typ, zamiast po prostu usuwać ograniczenia dotyczące normalnych odniesień, aby umożliwić im związanie się z tymczasowymi?

Wyrażenie musi być modyfikowaną wartością L

Mam tu char text[60]; Potem robię w if: if(number == 2) text = "awesome"; else text = "you fail"; I zawsze mówiło wyrażenie musi być modyfikowaną wartością L.

co to jest return type of assignment operator?

Dopiero zaczynam C++. Jestem trochę zdezorientowany co do typu powrotu przypisania i operatora dereferencji. Śledzę książkę C ... , czy odniesienie do obiektu. Czy te stwierdzenia są równoważne? Jeśli tak, to jak? Każde Wyjaśnienie będzie mile widziane.

Dlaczego obiekt typu array nie jest modyfikowalny?

Jest napisane tutaj że Termin modificable lvalue jest używany dla podkreślenia, że lvalue pozwala na zmianę wyznaczoneg ... modyfikowalny? Isn ' t it correct to write int i = 5, a[10] = {0}; a[i] = 1; ? A także, co to jest niekompletny Typ?