假设我有这样的设置:
std::locale::global(std::locale("en_US.UTF8"));
stream.imbue(std::locale());
当我尝试使用 调用构面实例的方法时std::use_facet
,它的派生类构面(即“别名”构面)方法实际上会被调用吗?例如,这样做:
std::use_facet<std::ctype<char>>(stream.getloc()).is( /*... */ );
做一些在概念上等同于这个的事情:
std::ctype_byname<char>("C").is( /* ... */ );
我认为这是因为一些派生类方面(在这种情况下std::ctype_byname
)实现了基类的虚函数。我可以这样假设吗?