, bu deney yaşıyorum:Bir numaralandırıcı aynı enum türündeki diğer sayımcılar açısından tanımlanabilir mi? merakı uğruna
enum RxqType
{
A = (1 << 0),
B = (1 << 1),
C = (A | B),
D = A+B+C
};
Listeleyicisi C ve D daha önce enumerator'ın açısından tanımlanır. Bu sıradışı çünkü güvenli olup olmadığından emin değilim. Google ile ilgili hiçbir örnek bulamıyorum (belki de gözden kaçırmayın).
Her şey yolunda görünüyor zaman, Visual C++ 2013 ve MinGW üzerinde printf
veya cout
C
ve D
. Ama standart uygun olup olmadığını ve tanımlanmamış davranışları tetikleyip tetiklemediğini merak ediyorum.
Standart uyumluluk ve tanımlanmamış davranışlar hakkındaki endişelerime cevap verenler var mı? Ve endişelenmem gereken başka bir şey var mı?
C++ std: 'enum {d, e, f = e + 2} 'den bir örnek;' ... – PiotrNycz
@PiotrNycz Oh, bir sonraki sorudan önce standardı (ları) incelemeyi hatırlamalıyım. –
@PiotrNycz Kesin olarak, örnekler normatif değildir. Elbette standardın uyumlu olmayan örnekler içermesi olası değildir. – Lundin