std::codecvt<InternT,ExternT,StateT>::~codecvt
来自 cppreference.cn
定义于头文件 <locale> |
||
protected: ~codecvt(); |
||
析构一个 std::codecvt 侧面 (facet)。此析构函数是受保护的且为虚函数(因为 基类 析构函数为虚函数)。std::codecvt 类型的对象,如同大多数侧面 (facet) 一样,仅能在实现此侧面 (facet) 的最后一个 std::locale 对象离开作用域时,或者在用户定义的类派生自 std::codecvt 并实现了一个公共析构函数时被销毁。
[编辑] 示例
运行此代码
#include <iostream> #include <locale> struct Destructible_codecvt : public std::codecvt<wchar_t, char, std::mbstate_t> { Destructible_codecvt(std::size_t refs = 0) : codecvt(refs) {} // note: the implicit destructor is public }; int main() { Destructible_codecvt dc; // std::codecvt<wchar_t> c; // compile error: protected destructor }