Visual Studio 2012 __cplusplus dan Percanggahannya dengan Sokongan C 11
Walaupun sokongan yang diiklankan Visual Studio 2012 untuk C 11, satu ketidakkonsistenan tidak berlaku mengenai makro __cplusplus. Daripada mencerminkan nilai jangkaan 201103L, ia terus ditakrifkan sebagai 199711L dalam projek C.
Penjelasan Kemungkinan
Makro __cplusplus ialah makro yang dipratentukan yang menyediakan nombor versi standard C yang digunakan oleh pengkompil. Dalam kes khusus ini, nilai 199711L sepadan dengan standard C "lama", yang mendahului C 11.
Kesan pada Pengepala C 11
Walaupun apabila C 11 pengepala disertakan dalam projek, __cplusplus kekal ditakrifkan secara salah sebagai 199711L. Ketidakkonsistenan ini boleh membawa kepada potensi isu dengan keserasian antara kod dan standard C 11.
Pepijat Diketahui
Isu ini telah diakui oleh Microsoft dan laporan pepijat telah telah difailkan (Nilai makro __cplusplus yang dipratentukan masih 199711L). Oleh itu, ia dijangka akan ditangani dalam kemas kini akan datang.
Atas ialah kandungan terperinci Mengapa Makro __cplusplus Visual Studio 2012 Masih Menunjukkan Keserasian C 98 Walaupun Sokongan C 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!