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/w/cpp/locale/codecvt/%7Ecodecvt