? = Operator C ++ größer minus Fragezeichen ist gleich Vorzeichen

8

Ich habe & lt;? = und & gt;? = in einem Code verwendet: Ссылка

Ich habe versucht, ohne die Includes zu kompilieren, um zu testen, ob es Standard ist, aber es hat nicht funktioniert. Ich fügte dann die Includes hinzu, aber es gibt immer noch den gleichen Fehler:

  

question-mark.cpp: 15: 5: Fehler: erwarteter primärer Ausdruck vor '?'   Token Fragezeichen.cpp: 15: 6: Fehler: erwarteter primärer Ausdruck   vor '=' token Fragezeichen.cpp: 15: 9: Fehler: erwartet ':' vorher   ';' Token Fragezeichen.cpp: 15: 9: Fehler: erwarteter primärer Ausdruck   vor ';' token

%Vor%

So wird es im Code des Links verwendet:

%Vor%

Wie kann ich das schaffen?

    
Leandro 20.04.2013, 23:55
quelle

2 Antworten

9

Dies sind GCC-Erweiterungsoperatoren. a <?= b hat dieselbe Bedeutung wie a = min(a, b) ( >?= ist der Operator "max"), aber es wertet seinen Ausdruck auf der linken Seite nur einmal aus. Dies ist nicht wichtig, wenn a eine Variable ist, aber es kann einen Unterschied machen, wenn a einen Ausdruck darstellt, insbesondere wenn der Ausdruck einen Nebeneffekt hat. Zum Beispiel in

%Vor%

Die ++ in dest++ würde nur einmal ausgewertet werden.

Beide Operatoren wurden jetzt veraltet .

    
dasblinkenlight 21.04.2013, 00:00
quelle
3

Es ist eine GCC-Erweiterung. x >?= y entspricht:

%Vor%

Ich habe es schon lange nicht mehr benutzt.

    
0x499602D2 20.04.2013 23:59
quelle