C++ 本地化库 - 构造函数



描述

这是一个本地化构造函数。

声明

以下是 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);

参数

  • x − 复制的本地化对象。

  • std_name − 标准的 C 本地化名称。

  • cats − 包含从第二个参数指定的本地化中使用的类别集。

  • p &minusl; 指向一个方面对象的指针。

  • y − 一个本地化对象,从中使用 cats 中指定的方面。

返回值

它返回之前的全局本地化对象。

异常

强保证 − 如果抛出异常,则没有效果。

示例

以下示例演示了 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;
}

示例输出应如下所示:

bar and foo both are different.
locale.htm
广告