La maggior parte (ma solo in realtà conosco un piccolo numero, quindi non consente di ottenere schizzinosi su questo punto) linguaggi di alto livello supportano più operatori di assegnazione differenti.moderna supporto della lingua + = ma non && =
a += 5; // increment a and assign result beack to a.
Ma nessuno (che ho guardato (ancora una volta un piccolo numero)) sembrano supportare l'& & operatore =.
Il motivo che mi chiedo Recentemente ho visto questo:
// simplified.
bool x = false;
x = x && testA(); // perform test A/B/C/D stop on first failure.
x = x && testB();
x = x && testC();
x = x && testD();
e mi chiedevo perché non abbiamo potuto utilizzare:
x &&= testA(); // perform test A/B/C/D stop on first failure.
x &&= testB();
x &&= testC();
x &&= testD();
Il motivo è che & & = non è supportata in C/C++, che fatto pensiamo perché.
Esiste un logica (no pun intended) motivo per cui il linguaggio supporta tutti gli altri principali operatori, con un modulo di assegnazione, ma non il & & = o || =
Ho un vago ricordo di un argomento contro questi, ma le ricerche di Google e SO sono difficili quando il termine di ricerca è '& & =' e come risultato non ho trovato nulla.
ho avuto questo pensiero _esattamente_ oggi, perché in lua, '' && è la parola 'e', quindi mi sono chiesto come hanno fatto' && = ', e si rese conto che non esiste una' && = ', in lua o in la maggior parte delle lingue. –