C ++ Locale Library - construtor

Descrição

É um construtor de localidade.

Declaração

A seguir está a declaração para std :: locale :: locale.

C ++ 98

locale() throw();
   locale (const locale& x) throw();
   explicit locale (const char* std_name);	
   locale (const locale& x, const char* std_name, category cats);
   template <class Facet>
   locale (const locale& x, const locale& y, category cats);
   locale (const locale& x, Facet* f);

C ++ 11

locale() noexcept;	
   locale (const locale& x) noexcept;
explicit locale (const char* std_name);
explicit locale (const string& std_name); 	
   locale (const locale& x, const char* std_name, category cats);
   locale (const locale& x, const string& std_name, category cats);
   template <class Facet>
   locale (const locale& x, const locale& y, category cats);	
   locale (const locale& x, Facet* f);

Parâmetros

  • x - Copiou o local.

  • std_name - É um nome de local C padrão.

  • cats - Ele contém um conjunto de categorias que são usadas a partir do local especificado como segundo argumento.

  • p& minusl; É um ponteiro para um objeto de faceta.

  • y - é um objeto de local a partir do qual as facetas especificadas em gatos são usadas.

Valor de retorno

Ele retorna o objeto de localidade global anterior.

Exceções

Strong guarantee - se uma exceção é lançada, não há efeitos.

Exemplo

No exemplo abaixo para std :: locale :: locale.

#include <iostream>
#include <locale>

int main (void) {
   std::locale foo;
   foo.global(std::locale(""));
   std::locale bar;

   std::cout << "bar and foo both are ";
   std::cout << (foo==bar?"the same":"different");
   std::cout << ".\n";

   return 0;
}

O exemplo de saída deve ser assim -

bar and foo both are different.