次のような標準 C++ ライブラリからいくつかの名前を解読しようとすると:
$ c++filt _ZNSt8ios_base4InitD1Ev
std::ios_base::Init::~Init()
$ c++filt _ZNSolsEPFRSoS_E
std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))
その後、多くの名前で動作します。ただし、次のように分解できない名前がいくつかあります。
$ c++filt _ZSt4endlIcSt11char_trait
_ZSt4endlIcSt11char_trait
$ c++filt _ZStlsISt11char_traitsIcE
_ZStlsISt11char_traitsIcE
c++filt は成功していないようです。最後の 2 つの名前が正しくデマングルされないのはなぜですか? また、それらをデマングルする方法は?