Bir tamsayı döndüren bir C işleviniz varsa, şu şekilde bir ifade yazabilirsiniz:& = Ve | = için tanımlı bir değerlendirme sırası var mı?
MyInt &= MyFunc();
... biz bitsel-AND atama işlecini kullanıyoruz.
Soru: MyInt sıfıra eşit olsa bile MyFunc() tarafından yürütülmeyi garanti ediyor mu?
Benzer şekilde, bitly-OR atama işlecini (| =) kullansaydık, MyInt tümü ayarlanmış olsa bile MyFunc() her zaman çalıştırılır mı?
Başka bir deyişle: bitly operatörler için tembel değerlendirme C'de izin verilir mi?
"MyInt" öğesinin bir kez ** değerlendirildiği dışında (yan etkileri olan bir ifade olduğunda önemi olabilir.) –
Atamadaki LHS'deki şey değerlendirilmeyecektir. –
Neil: 'myMap [" test "] | = 10;' myMap.operator [] 'bir şey yazdırır. İkinci formda iki kez basılacak, ancak bir kez bileşik atama formunda. –