2013-06-20 3 views
0

로캘을 사용했지만 이름을 제공하지 않은 코드를 보았습니다. 이 사실을 여러 번 보았는데 어떻게 작동하는지 잘 모르겠습니다.빈 로케일 매개 변수의 의미는 무엇입니까?

auto& f = std::use_facet<std::ctype<wchar_t>>(std::locale()); 

빈 로캘 생성자를 사용한다는 것이 무엇인지 궁금합니다. 모든 로케일 이름을 지정해야한다고 생각했습니다. http://en.cppreference.com/w/cpp/locale/ctype/toupper

+0

http://en.cppreference.com/w/cpp/locale/locale/locale 단 두 번의 클릭 만 남았습니다. – Cubbi

답변

4

http://www.cplusplus.com/reference/locale/locale/locale/

기본 생성자는 로케일 :: 세계가 호출되지 않은 경우 이전 호출에서 설정된 로케일이 로케일로 :: 세계, 또는 로케일 :: 고전 현재 글로벌 로케일의 복사본을 생성한다 .

locale::classic은 무엇입니까?

http://www.cplusplus.com/reference/locale/locale/classic/

는 "C"로케일 (기본 로케일)에 대한 의미에 해당하는 고전적인 로케일을 돌려줍니다.

"C"로켈이란 무엇입니까?

http://www.cplusplus.com/reference/clocale/

은 "C"로케일는 최소 로케일. 이 시스템은 모든 시스템과 컴파일러에서 동일한 설정을 갖는 다소 중립적 인 로케일이므로이 로켈을 사용하는 프로그램의 정확한 결과는 예측 가능합니다. 이것은 모든 C 프로그램에서 기본적으로 사용되는 로켈입니다.

+0

"C"로켈이 C++ 프로그램의 기본 로켈인지 여부를 알고 있습니까? – 0x499602D2

+0

필자가 제공 한 링크에서 참조를 인용하는 것뿐입니다. 그러나 C++ 표준 클래스에 대한 참조가 모두 있다고 가정 할 때, 나는 그것이 맞다고 가정 할 수 있습니다. 그렇지 않은 경우 이러한 참조는 오도 된 관련없는 정보를 포함합니다. –

+0

@ 0x499602D2 예, C++의 기본 로캘은 "C"입니다. – bames53

2

std::locale 더 매개 변수를 사용하지 않는 생성자가 : 내가 코드를 찾을 경우 어떤 상황에 대한

는 여기에있다. 현재 전역 로케일의 스냅 샷인 로켈을 만듭니다.

관련 문제