2013-06-08 29 views
9

, biz | için && için and, or|| için, bitand& ve bitor yazabilir.Referanslarda ikilinin yerini alabilir misiniz? C++

Şimdi and ve bitand bu operatörlerin içindir nerede geçerlidir, ya da referanslar tanımlanır nerede olup olmadığını merak (g ++ 4.6.3 referanslar için bitand kabul - rvalue referanslar değil görünüyor sürümde desteklenecek - ama tabii Bu sadece derleyicinin hatayı yakalamaması olabilir).

Özet: Aşağıdaki kod geçerli C++ mı?

int and x = 3; 

int a; 
int bitand y = a; 
ben (belki bir karartılmış kod yarışmaya katılan eğer hariç) böyle kod yazmak asla Tabii

, ama aslında geçerlidir? C++ 11 göre

+3

Bunu derlemek olabilir ve hiçbir öğrenmek? – STLDeveloper

+0

've', 'bitand' vb. Sadece makrolardır. Onları istediğin yerde kullanabilirsin, evet, bunu yapabilirsin. – Dave

+0

(p.s. "belki de gizlenmiş bir kod yarışmasına katılıyorsa hariç): zaten yapıldı: P) – Dave

cevap

11

, 2.6/4: dil tüm açılardan

, her bir alternatif belirteci birincil belirteç

Böylece olarak, sırasıyla, aynı şekilde davranır int and a = 5; mükemmel bir şekilde delice de mükemmel bir şekilde geçerlidir.


fazla örnek:

struct ete 
{ 
    compl ete(); 
    int egr()and; 
}; 
İlgili konular