3 ms·
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
by CoolGuySteve 7y ago
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.
- jcelerier 7y ago> 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 https://gcc.godbolt.org/z/QLbjjo
- CoolGuySteve 7y agoYour 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.
- jcelerier 7y agobut again you can revert to gcc-4.9 behaviour with -D_GLIBCXX_USE_CXX11_ABI=0