The value of __cplusplus is temporarily intentionally non-conformant by default for current versions of Visual Studio in order to avoid breaking existing code. It does not mean your compiler does not support any C++11 (or newer) features.
Quoting from MSVC now correctly reports __cplusplus:
/Zc:__cplusplus
You need to compile with the
/Zc:__cplusplusswitch to see the updated value of the__cplusplusmacro. We tried updating the macro by default and discovered that a lot of code doesn’t compile correctly when we change the value of__cplusplus. We’ll continue to require use of the/Zc:__cplusplusswitch for all minor versions of MSVC in the 19.xx family.