例如:
template <typename T>
struct foo
{
using bar = int;
};
// _Z3bazi
void baz(foo<int>::bar quux) {
}
template <typename T>
void baz(typename foo<T>::bar quux) {
}
// _Z3bazIiEvN3fooIT_E3barE
template void baz<int>(foo<int>::bar quux);
为什么要baz<int>
提到这种被破坏的形式foo
?怎么不是_Z3bazIiEvi
?
这显然是 C++17std::default_order<T>
提案在水中死气沉沉的原因。