static locale global(const locale& loc); // (1) C++98
概要
グローバルロケールを設定する。
この関数は、C++のグローバルロケールをlocに設定する。さらに、locが名前を持つ場合は、C言語のstd::setlocale(LC_ALL, loc.name().c_str())を呼び出したのと同じ効果を持つ。そうでない場合、C言語のロケールへの影響は処理系定義である。
戻り値
この関数を呼び出す前のグローバルロケール。
備考
グローバルロケールを設定しても、既に構築済みのlocaleオブジェクトや、既にストリームにimbueされているロケールには影響しない。デフォルトコンストラクタで構築されるlocaleは、この関数で設定されたグローバルロケールのコピーとなる。
例
#include <iostream>
#include <locale>
int main()
{
// グローバルロケールをCロケールに設定し、以前のグローバルロケールを取得する
std::locale prev = std::locale::global(std::locale::classic());
// 以降、デフォルト構築されるlocaleは"C"ロケールのコピーとなる
std::locale current;
std::cout << current.name() << std::endl;
}
出力
C
バージョン
言語
- C++98