Rumah >pembangunan bahagian belakang >C++ >Mengapa Makro __cplusplus Visual Studio 2012 Masih Menunjukkan Keserasian C 98 Walaupun Sokongan C 11?

Mengapa Makro __cplusplus Visual Studio 2012 Masih Menunjukkan Keserasian C 98 Walaupun Sokongan C 11?

DDD
DDDasal
2024-11-05 04:36:02695semak imbas

Why Does Visual Studio 2012's __cplusplus Macro Still Indicate C  98 Compatibility Despite C  11 Support?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn