std::use_facet
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <locale>
|
||
template< class Facet > const Facet& use_facet( const std::locale& loc ); |
||
Получает ссылку на фасет, реализованный локалью loc.
Параметры
| loc | — | запрашиваемый объект локали |
Возвращаемое значение
Возвращает ссылку на фасет. Ссылка, возвращаемая этой функцией, является действительной до тех пор, пока существует любой объект std::locale, реализующий этот фасет Facet.
Исключения
std::bad_cast, если std::has_facet<Facet>(loc) == false.
Пример
Отображает 3-буквенное название валюты, используемое в предпочитаемой пользователем локали.
Запустить этот код
#include <iostream>
#include <locale>
int main()
{
std::locale loc = std::locale(""); // предпочитаемая пользователем локаль
std::cout << "Название вашей валюты равно "
<< std::use_facet<std::moneypunct<char, true>>(loc).curr_symbol() << '\n';
}
Вывод:
Название вашей валюты равно USD
Смотрите также
| набор полиморфных фасетов, инкапсулирующих культурные различия (класс) | |
| проверяет, реализует ли локаль определённый фасет (шаблон функции) |