In C++, possiamo scrivere and
per &&
, or
per ||
, bitand
per &
e bitor
per |
.Puoi sostituire & con bit e nei riferimenti?
Ora mi chiedo se and
e bitand
sono validi solo se tali operatori si intendono, o anche il luogo dove i riferimenti sono definiti (g ++ 4.6.3 accetta bitand
i riferimenti - riferimenti rvalue non sembra essere supportata in quella versione - ma naturalmente quello potrebbe essere semplicemente il compilatore che non ha rilevato l'errore).
In breve: il seguente codice è valido C++?
int and x = 3;
int a;
int bitand y = a;
Naturalmente non avrei mai scrivere tale codice (tranne forse se partecipare ad un concorso di codice offuscato), ma è in realtà valida?
Si potrebbe compilarlo e scoprire, no? – STLDeveloper
'and',' bitand', ecc. Sono solo macro. Puoi usarli dove preferisci, quindi sì, puoi farlo. – Dave
(p.s. "eccetto forse se si partecipa a un contest con codice offuscato": è già stato fatto: P) – Dave