My g++ version is Ubuntu 5.4.0:
g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.12)
From the man page, I see this:
c++14
c++1y
The 2014 ISO C++ standard plus amendments. The name c++1y is deprecated.
gnu++14
gnu++1y
GNU dialect of -std=c++14. The name gnu++1y is deprecated.
c++1z
The next revision of the ISO C++ standard, tentatively planned for 2017. Support
is highly experimental, and will almost certainly change in incompatible ways in
future releases.
Does that mean "-std=c++1z" for c++17? I am confused what should be used for c++17 because some programs just use "-std=c++17" directly and compiled successfully using this g++.