std::codecvt<InternT,ExternT,StateT>::~codecvt
Определено в заголовке <locale> | ||
|---|---|---|
protected: ~codecvt(); |
Уничтожает фасет std::codecvt. Этот деструктор является защищённым и виртуальным (поскольку деструктор базового класса является виртуальным). Объект типа std::codecvt, как и большинство фасетов, может быть уничтожен только тогда, когда последний объект 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
}
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/locale/codecvt/~codecvt