12 Sep
2017
12 Sep
'17
12:22 a.m.
On Tue, Sep 12, 2017 at 3:15 AM, Stephan T. Lavavej via Boost
[Gavin Lambert]
__cplusplus gives you the claimed conformance level of the compiler, which is usually (though not necessarily) in agreement with the STL. But that doesn't do you a lot of good as it's a big catch-all (and at least in the case of MSVC lags behind the actual individual feature support).
That's intentional. If we were to update __cplusplus's value before completing C++11 (not to mention C++14/17), the Internet would riot.
Well, MSVC never implemented C++98/03 completely, yet I think it defined __cplusplus as if it did. I don't think __cplusplus ever did provide any practical indication of the supported language and therefore its value doesn't matter much.