Spec-Zone.ru › C++

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API