num_get 클래스num_get Class

형식의 시퀀스에서 숫자 값으로의 변환을 제어 하는 로캘 패싯으로 사용할 수 있는 개체를 설명 하는 클래스 템플릿입니다 CharType .A class template that describes an object that can serve as a locale facet to control conversions of sequences of type CharType to numeric values.

구문Syntax

template <class CharType, class InputIterator = istreambuf_iterator<CharType>>
class num_get : public locale::facet;

매개 변수Parameters

CharTypeCharType
로캘의 문자를 인코딩하기 위해 프로그램 내 사용하는 형식입니다.The type used within a program to encode characters in a locale.

InputIteratorInputIterator
숫자 get 함수가 입력을 읽어올 반복기의 형식입니다.The type of iterator from which the numeric get functions read their input.

설명Remarks

모든 로캘 패싯과 마찬가지로, 고정 개체 ID에는 초기값 0이 저장되어 있습니다.As with any locale facet, the static object ID has an initial stored value of zero. 저장된 값에 액세스를 처음 시도하면 id에 고유한 양수 값이 저장됩니다.The first attempt to access its stored value stores a unique positive value in id.

생성자Constructors

생성자Constructor 설명Description
num_getnum_get 시퀀스에서 숫자 값을 추출하는 데 사용되는 num_get 형식의 개체에 대한 생성자입니다.The constructor for objects of type num_get that are used to extract numerical values from sequences.

TypedefsTypedefs

형식 이름Type name 설명Description
char_typechar_type 로캘에서 사용하는 문자를 설명하기 위해 사용하는 형식입니다.A type that is used to describe a character used by a locale.
iter_typeiter_type 입력 반복기에 대해 설명하는 형식입니다.A type that describes an input iterator.

멤버 함수Member functions

멤버 함수Member function DescriptionDescription
do_getdo_get 문자 시퀀스에서 숫자 또는 부울 값을 추출하기 위해 호출하는 가상 함수입니다.A virtual function that is called to extracts a numerical or Boolean value from a character sequence.
getget 문자 시퀀스에서 숫자 또는 부울 값을 추출합니다.Extracts a numerical or Boolean value from a character sequence.

요구 사항Requirements

헤더:<locale>Header: <locale>

네임스페이스: stdNamespace: std

num_get:: char_typenum_get::char_type

로캘에서 사용하는 문자를 설명하기 위해 사용하는 형식입니다.A type that is used to describe a character used by a locale.

typedef CharType char_type;

설명Remarks

이 형식은 템플릿 매개 변수 Chartype의 동의어입니다.The type is a synonym for the template parameter CharType.

num_get::d o_getnum_get::do_get

문자 시퀀스에서 숫자 또는 부울 값을 추출하기 위해 호출하는 가상 함수입니다.A virtual function that is called to extracts a numerical or Boolean value from a character sequence.

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    long& val) const;

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned short& val) const;

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned int& val) const;

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned long& val) const;

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    long long& val) const;

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned long long& val) const;

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    float& val) const;

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    double& val) const;

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    long double& val) const;

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    void *& val) const;

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    bool& val) const;

매개 변수Parameters

기본first
숫자를 읽을 문자 범위의 시작 부분입니다.The beginning of the range of characters from which to read the number.

최신last
숫자를 읽을 문자 범위의 끝부분입니다.The end of the range of characters from which to read the number.

iosbaseiosbase
해당 플래그가 변환에 사용되는 ios_base입니다.The ios_base whose flags are used by the conversion.

상태일state
오류 시 failbit가 추가되는 상태(ios_base::iostate 참조)입니다.The state to which failbit (see ios_base::iostate) is added upon failure.

짧은val
읽은 값입니다.The value that was read.

Return ValueReturn Value

값을 읽은 후의 반복기입니다.The iterator after the value has been read.

설명Remarks

첫 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The first virtual protected member function,

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    long& val) const;

first [first, last) 비어 있지 않은 완전 한 정수 입력 필드를 인식할 때까지 시퀀스의 처음부터 시작 하는 순차적 요소와 일치 합니다.matches sequential elements beginning at first in the sequence [first, last) until it has recognized a complete, nonempty integer input field. 성공 하는 경우이 필드를 형식과 동일한 값으로 변환 long 하 고 결과를 val에 저장 합니다.If successful, it converts this field to its equivalent value as type long, and stores the result in val. 이 함수는 숫자 입력 필드를 벗어난 범위에 있는 첫 번째 요소를 지정하는 반복기를 반환합니다.It returns an iterator designating the first element beyond the numeric input field. 그렇지 않으면 함수는 val 에 아무 것도 저장 하지 않으며 ios_base::failbit 에는를 설정 state 합니다.Otherwise, the function stores nothing in val and sets ios_base::failbit in state. 그리고 유효한 정수 입력 필드의 접두사를 벗어난 범위에 있는 첫 번째 요소를 지정하는 반복기를 반환합니다.It returns an iterator designating the first element beyond any prefix of a valid integer input field. 두 경우 모두 반환 값이 last와 같으면 함수는 state에서 ios_base::eofbit를 설정합니다.In either case, if the return value equals last, the function sets ios_base::eofbit in state.

정수 입력 필드는 파일의 일련의 요소를 일치 및 변환 하기 위해 검색 함수에서 사용 하는 것과 동일한 규칙에 의해 변환 됩니다 char .The integer input field is converted by the same rules used by the scan functions for matching and converting a series of char elements from a file. 이러한 각 char 요소는 Elem 간단한 일대일 매핑을 통해 형식의 동등한 요소에 매핑되는 것으로 간주 됩니다. 해당 하는 검색 변환 사양은 다음과 같이 결정 됩니다.(Each such char element is assumed to map to an equivalent element of type Elem by a simple, one-to-one, mapping.) The equivalent scan conversion specification is determined as follows:

iosbase. Ios_base:: flags () & ios_base::basefield == ios_base::oct인 경우 변환 사양은 lo 입니다.If iosbase.ios_base::flags() & ios_base::basefield == ios_base::oct, the conversion specification is lo.

iosbase.flags() & ios_base::basefield == ios_base::hex이면 변환 사양은 lx입니다.If iosbase.flags() & ios_base::basefield == ios_base::hex, the conversion specification is lx.

iosbase.flags() & ios_base::basefield == 0이면 변환 사양은 li입니다.If iosbase.flags() & ios_base::basefield == 0, the conversion specification is li.

그렇지 않으면 변환 사양은 ld입니다.Otherwise, the conversion specification is ld.

정수 입력 필드의 형식은 locale facet fac 호출 use_facet < numpunct <Elem>(iosbase. ios_base:: getloc에 의해 반환 되는 로캘 패싯에 따라 결정 됩니다 ()) .The format of an integer input field is further determined by the locale facetfac returned by the call use_facet <numpunct<Elem>(iosbase.ios_base::getloc()). 특히:Specifically:

fac.numpunct:: grouping () 소수점 왼쪽의 숫자를 그룹화 하는 방법을 결정 합니다.fac.numpunct::grouping() determines how digits are grouped to the left of any decimal point

fac.numpunct:: thousands_sep () 소수점 왼쪽의 숫자 그룹을 구분 하는 시퀀스를 결정 합니다.fac.numpunct::thousands_sep() determines the sequence that separates groups of digits to the left of any decimal point.

숫자 입력 필드에 fac.thousands_sep()의 인스턴스가 없으면 그룹화 제약 조건이 적용되지 않습니다.If no instances of fac.thousands_sep() occur in the numeric input field, no grouping constraint is imposed. 그렇지 않으면 fac.grouping()에 의해 적용되는 모든 그룹화 제약 조건이 적용되며 스캔 변환이 수행되기 전에 구분 기호가 제거됩니다.Otherwise, any grouping constraints imposed by fac.grouping() are enforced and separators are removed before the scan conversion occurs.

네 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The fourth virtual protected member function:

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned long& val) const;

이 함수는 ld의 변환 사양을 lu로 대체한다는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same as the first, except that it replaces a conversion specification of ld with lu. 성공 하면 숫자 입력 필드를 형식의 값으로 변환 하 unsigned long 고 해당 값을 val에 저장 합니다.If successful it converts the numeric input field to a value of type unsigned long and stores that value in val.

다섯 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The fifth virtual protected member function:

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    long long& val) const;

이 함수는 ld의 변환 사양을 lld로 대체한다는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same as the first, except that it replaces a conversion specification of ld with lld. 성공 하면 숫자 입력 필드를 형식의 값으로 변환 하 long long 고 해당 값을 val에 저장 합니다.If successful it converts the numeric input field to a value of type long long and stores that value in val.

여섯 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The sixth virtual protected member function:

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned long long& val) const;

이 함수는 ld의 변환 사양을 llu로 대체한다는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same as the first, except that it replaces a conversion specification of ld with llu. 성공 하면 숫자 입력 필드를 형식의 값으로 변환 하 unsigned long long 고 해당 값을 val에 저장 합니다.If successful it converts the numeric input field to a value of type unsigned long long and stores that value in val.

일곱 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The seventh virtual protected member function:

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    float& val) const;

이 함수는 비어 있지 않은 완전한 부동 소수점 입력 필드와의 일치를 시도한다는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same as the first, except that it endeavors to match a complete, nonempty floating-point input field. fac.numpunct::d ecimal_point () 소수 자릿수와 정수 자릿수를 구분 하는 시퀀스를 결정 합니다.fac.numpunct::decimal_point() determines the sequence that separates the integer digits from the fraction digits. 동일한 스캔 변환 지정자는 lf입니다.The equivalent scan conversion specifier is lf.

여덟 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The eighth virtual protected member function:

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    double& val) const;

이 함수는 비어 있지 않은 완전한 부동 소수점 입력 필드와의 일치를 시도한다는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same as the first, except that it endeavors to match a complete, nonempty floating-point input field. fac.numpunct::d ecimal_point () 소수 자릿수와 정수 자릿수를 구분 하는 시퀀스를 결정 합니다.fac.numpunct::decimal_point() determines the sequence that separates the integer digits from the fraction digits. 동일한 스캔 변환 지정자는 lf입니다.The equivalent scan conversion specifier is lf.

아홉 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The ninth virtual protected member function:

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    long double& val) const;

이 함수는 동일한 스캔 변환 지정자가 Lf라는 점을 제외하면 여덟 번째 함수와 동일하게 동작합니다.behaves the same as the eighth, except that the equivalent scan conversion specifier is Lf.

10 번째 가상 보호 된 멤버 함수:The tenth virtual protected member function:

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    void *& val) const;

이 함수는 동일한 스캔 변환 지정자가 p라는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same the first, except that the equivalent scan conversion specifier is p.

마지막(열한 번째) 보호된 가상 구성원 함수는 다음 코드와 같습니다.The last (eleventh) virtual protected member function:

virtual iter_type do_get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    bool& val) const;

이 함수는 비어 있지 않은 완전한 부울 입력 필드와의 일치를 시도한다는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same as the first, except that it endeavors to match a complete, nonempty Boolean input field. 성공 하면 부울 입력 필드를 형식의 값으로 변환 하 bool 고 해당 값을 val에 저장 합니다.If successful it converts the Boolean input field to a value of type bool and stores that value in val.

부울 입력 필드는 두 가지 형식 중 하나를 사용합니다.A Boolean input field takes one of two forms. iosbase.flags() & ios_base::boolalpha가 false인 경우 변환된 값이 0(false의 경우) 또는 1(true의 경우)이어야 한다는 점을 제외하면 정수 입력 필드와 동일합니다.If iosbase.flags() & ios_base::boolalpha is false, it is the same as an integer input field, except that the converted value must be either 0 (for false) or 1 (for true). 그렇지 않으면 시퀀스는 fac. numpunct:: falsename () (false의 경우) 또는 fac. numpunct:: truename () (true의 경우)과 일치 해야 합니다.Otherwise, the sequence must match either fac.numpunct::falsename() (for false), or fac.numpunct::truename() (for true).

예제Example

do_get에 의해 가상 구성원 함수가 호출되는 get의 예제를 참조하세요.See the example for get, where the virtual member function is called by do_get.

num_get:: getnum_get::get

문자 시퀀스에서 숫자 또는 부울 값을 추출합니다.Extracts a numerical or Boolean value from a character sequence.

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    bool& val) const;

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned short& val) const;

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned int& val) const;

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    long& val) const;

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned long& val) const;

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    long long& val) const;

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned long long& val) const;

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    float& val) const;

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    double& val) const;

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    long double& val) const;

iter_type get(
    iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    void *& val) const;

매개 변수Parameters

기본first
숫자를 읽을 문자 범위의 시작 부분입니다.The beginning of the range of characters from which to read the number.

최신last
숫자를 읽을 문자 범위의 끝부분입니다.The end of the range of characters from which to read the number.

iosbaseiosbase
해당 플래그가 변환에 사용되는 ios_base입니다.The ios_base whose flags are used by the conversion.

상태일state
오류 시 failbit가 추가되는 상태(ios_base::iostate 참조)입니다.The state to which failbit (see ios_base::iostate) is added upon failure.

짧은val
읽은 값입니다.The value that was read.

Return ValueReturn Value

값을 읽은 후의 반복기입니다.The iterator after the value has been read.

설명Remarks

모든 멤버 함수는 do_get ( first, last, iosbase, state, val) 를 반환 합니다.All member functions return do_get( first, last, iosbase, state, val).

첫 번째 보호된 가상 구성원 함수는 비어 있지 않은 완전한 정수 입력 필드를 인식할 때까지 시퀀스 [ first, last)에서 처음 시작되는 순차 요소 일치를 시도합니다.The first virtual protected member function tries to match sequential elements beginning at first in the sequence [ first, last) until it has recognized a complete, nonempty integer input field. 성공 하면이 필드를 형식과 동일한 값으로 변환 long 하 고 결과를 val에 저장 합니다.If successful, it converts this field to its equivalent value as type long and stores the result in val. 이 함수는 숫자 입력 필드를 벗어난 범위에 있는 첫 번째 요소를 지정하는 반복기를 반환합니다.It returns an iterator designating the first element beyond the numeric input field. 그렇지 않으면 함수는 val 에 아무 것도 저장 하지 않으며 ios_base::failbit 상태를 설정 합니다.Otherwise, the function stores nothing in val and sets ios_base::failbit in state. 그리고 유효한 정수 입력 필드의 접두사를 벗어난 범위에 있는 첫 번째 요소를 지정하는 반복기를 반환합니다.It returns an iterator designating the first element beyond any prefix of a valid integer input field. 두 경우 모두 반환 값이 last와 같으면 함수는 ios_base::eofbit 상태를 설정 합니다.In either case, if the return value equals last, the function sets ios_base::eofbit in state.

정수 입력 필드는 파일의 일련의 요소를 일치 및 변환 하기 위해 검색 함수에서 사용 하는 것과 동일한 규칙에 의해 변환 됩니다 char .The integer input field is converted by the same rules used by the scan functions for matching and converting a series of char elements from a file. 이러한 각 char 요소는 간단한 일대일 매핑으로 형식의 동등한 요소에 매핑되는 것으로 간주 됩니다 CharType .Each such char element is assumed to map to an equivalent element of type CharType by a simple, one-to-one mapping. 동일한 스캔 변환 사양은 다음과 같이 결정됩니다.The equivalent scan conversion specification is determined as follows:

  • iosbase. flags & ios_base::basefield == ios_base:: 10 진수로플래그를 지정 하는 경우 변환 사양은 lo 입니다.If iosbase.flags& ios_base::basefield == ios_base::oct, the conversion specification is lo.

  • iosbase.flags & ios_base::basefield == ios_base::hex이면 변환 사양은 lx입니다.If iosbase.flags & ios_base::basefield == ios_base::hex, the conversion specification is lx.

  • iosbase.flags & ios_base::basefield == 0이면 변환 사양은 li입니다.If iosbase.flags & ios_base::basefield == 0, the conversion specification is li.

  • 그렇지 않으면 변환 사양은 ld입니다.Otherwise, the conversion specification is ld.

정수 입력 필드의 형식은 locale facet fac use_facet < numpunct <Elem>(iosbase. getloc호출에서 반환 되는 로캘 패싯에 따라 결정 됩니다 ()) .The format of an integer input field is further determined by the locale facet fac returned by the call use_facet<numpunct<Elem>(iosbase.getloc()). 특히:Specifically:

  • fac.그룹화 는 소수점이 하 자릿수의 왼쪽으로 숫자를 그룹화 하는 방법을 결정 합니다.fac.grouping determines how digits are grouped to the left of any decimal point.

  • fac.thousands_sep 은 소수점 왼쪽의 숫자 그룹을 구분 하는 시퀀스를 결정 합니다.fac.thousands_sep determines the sequence that separates groups of digits to the left of any decimal point.

숫자 입력 필드에 fac.thousands_sep의 인스턴스가 없으면 그룹화 제약 조건이 적용되지 않습니다.If no instances of fac.thousands_sep occur in the numeric input field, no grouping constraint is imposed. 그렇지 않으면에 의해 적용 되는 모든 그룹화 제약 조건이 fac.grouping 적용 되며 검색 변환이 수행 되기 전에 구분 기호가 제거 됩니다.Otherwise, any grouping constraints imposed by fac.grouping is enforced and separators are removed before the scan conversion occurs.

두 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The second virtual protected member function:

virtual iter_type do_get(iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    unsigned long& val) const;

이 함수는 ld의 변환 사양을 lu로 대체한다는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same as the first, except that it replaces a conversion specification of ld with lu. 성공 하는 경우 숫자 입력 필드를 형식의 값으로 변환 하 unsigned longval에 해당 값을 저장 합니다.If successful, it converts the numeric input field to a value of type unsigned long and stores that value in val.

세 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The third virtual protected member function:

virtual iter_type do_get(iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    double& val) const;

이 함수는 비어 있지 않은 완전한 부동 소수점 입력 필드와의 일치를 시도한다는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same as the first, except that it tries to match a complete, nonempty floating-point input field. fac.decimal_point 소수 자릿수와 정수 자릿수를 구분 하는 시퀀스를 결정 합니다.fac.decimal_point determines the sequence that separates the integer digits from the fraction digits. 동일한 스캔 변환 지정자는 lf입니다.The equivalent scan conversion specifier is lf.

네 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The fourth virtual protected member function:

virtual iter_type do_get(iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    long double& val) const;

동일한 검색 변환 지정 자가 라는 점을 제외 하 고 세 번째와 동일한 동작을 수행 합니다 Lf .behaves the same the third, except that the equivalent scan conversion specifier is Lf.

다섯 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The fifth virtual protected member function:

virtual iter_type do_get(iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    void *& val) const;

이 함수는 동일한 스캔 변환 지정자가 p라는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same the first, except that the equivalent scan conversion specifier is p.

여섯 번째 보호된 가상 구성원 함수는 다음 코드와 같습니다.The sixth virtual protected member function:

virtual iter_type do_get(iter_type first,
    iter_type last,
    ios_base& iosbase,
    ios_base::iostate& state,
    bool& val) const;

이 함수는 비어 있지 않은 완전한 부울 입력 필드와의 일치를 시도한다는 점을 제외하면 첫 번째 함수와 동일하게 동작합니다.behaves the same as the first, except that it tries to match a complete, nonempty boolean input field. 성공 하면 부울 입력 필드를 형식의 값으로 변환 하 bool 고 해당 값을 val에 저장 합니다.If successful it converts the Boolean input field to a value of type bool and stores that value in val.

부울 입력 필드는 두 가지 형식 중 하나를 사용합니다.A boolean input field takes one of two forms. iosbase.flags & ios_base:: Boolalpha 가 인 경우 false 변환 된 값이 0 (의 경우 false ) 또는 1 (의 경우) 이어야 한다는 점을 제외 하면 정수 입력 필드와 동일 합니다 true .If iosbase.flags & ios_base::boolalpha is false, it is the same as an integer input field, except that the converted value must be either 0 (for false) or 1 (for true). 그렇지 않으면 시퀀스는 fac. falsename (의 경우 false ) 또는 fac. truename (의 경우)와 일치 해야 합니다 true .Otherwise, the sequence must match either fac.falsename (for false), or fac.truename (for true).

예제Example

// num_get_get.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "german_germany" );

   basic_stringstream<char> psz, psz2;
   psz << "-1000,56";

   ios_base::iostate st = 0;
   long double fVal;
   cout << use_facet <numpunct <char> >(loc).thousands_sep( ) << endl;

   psz.imbue( loc );
   use_facet <num_get <char> >
   (loc).get( basic_istream<char>::_Iter( psz.rdbuf( ) ),
           basic_istream<char>::_Iter(0), psz, st, fVal );

   if ( st & ios_base::failbit )
      cout << "money_get( ) FAILED" << endl;
   else
      cout << "money_get( ) = " << fVal << endl;
}

num_get:: iter_typenum_get::iter_type

입력 반복기에 대해 설명하는 형식입니다.A type that describes an input iterator.

typedef InputIterator iter_type;

설명Remarks

이 형식은 템플릿 매개 변수 InputIterator의 동의어입니다.The type is a synonym for the template parameter InputIterator.

num_get:: num_getnum_get::num_get

시퀀스에서 숫자 값을 추출하는 데 사용되는 num_get 형식의 개체에 대한 생성자입니다.The constructor for objects of type num_get that are used to extract numerical values from sequences.

explicit num_get(size_t refs = 0);

매개 변수Parameters

refsrefs
개체에 대한 메모리 관리 형식을 지정하는 데 사용하는 정수값입니다.Integer value used to specify the type of memory management for the object.

설명Remarks

Refs 매개 변수에 사용할 수 있는 값은 다음과 같습니다.The possible values for the refs parameter and their significance are:

  • 0: 개체를 포함하는 로캘에 의해 개체의 수명이 관리됩니다.0: The lifetime of the object is managed by the locales that contain it.

  • 1: 개체의 수명을 수동으로 관리해야 합니다.1: The lifetime of the object must be manually managed.

  • >1: 이러한 값은 정의 되지 않습니다.> 1: These values are not defined.

소멸자는 보호되므로 직접적인 예제는 확인할 수 없습니다.No direct examples are possible, because the destructor is protected.

생성자는 패싯을 사용 하 여 해당 기준 개체를 초기화 locale:: facet (refs) 합니다.The constructor initializes its base object with locale::facet(refs).

참고 항목See also

<locale>
패싯 클래스facet Class
C + + 표준 라이브러리의 스레드 보안Thread Safety in the C++ Standard Library