News for hackers. Stuff that matters.
Re:C++ 20: The Core Language by CoolGuySteve on Tuesday November 05, 2019 @02:48PM (#21455946)
No, std::string definitely changed between c++11 and c++14. It could be an implementation detail between different libstdc++ versions for the g++ version that supported c++14, but the incompatibility was definitely there.
Re:C++ 20: The Core Language by jcelerier on Tuesday November 05, 2019 @03:32PM (#21456352)
> No, std::string definitely changed between c++11 and c++14. It could be an implementation detail between different libstdc++ versions for the g++ version that supported c++14, but the incompatibility was definitely there.

that is a problem with your distribution (and the reason why using distro packages sucks for development), not with C++.

The ABI only changes if you change the value of _GLIBCXX_USE_CXX11_ABI with libstdc++

See : https://gcc.godbolt.org/z/QLbjjo

Re:C++ 20: The Core Language by CoolGuySteve on Tuesday November 05, 2019 @03:45PM (#21456488)
Your example breaks if you change the C++11 pane to GCC 4.9 or earlier, which is the default in CentOS 7 and Ubuntu 14.04.

Considering that was only 5 years ago, I wouldn't consider this a stable ABI.

Re:C++ 20: The Core Language by jcelerier on Tuesday November 05, 2019 @04:39PM (#21456991)
but again you can revert to gcc-4.9 behaviour with -D_GLIBCXX_USE_CXX11_ABI=0