태그 보관물: terminology

terminology

C와 C ++에서 (…)는 무엇입니까? 것 입니다. 그건 뭐예요? 그런 식으로 사용될

의 사용 중 하나는 C 및 C ++에서 가변 요소 ...를 나타내는 것 입니다.

그건 뭐예요?

그런 식으로 사용될 때 연산자 또는 다른 것으로 분류됩니까?

다른 자세한 내용은 ...?

편집 :
의 목적을 알고 ...있습니다. 이름과 분류에 대해 묻고 싶습니다 .C와 C ++ 모두 비슷합니다.



답변

구두점 중 하나입니다 .

6.4.6  Punctuators
Syntax punctuator:
     one of  [    ]    (    )    {   }    .    ->
             ++   --   &    *    +   -    ~    !
             /    %    <<   >>   <   >    <=   >=    ==   !=   ^   |   &&   ||
             ?    :    ;    ...
             =    *=   /=   %=   +=  -=   <<=  >>=   &=   ^=   |=
             ,    #    ##
             <:   :>   <%   %>   %:   %:%:

함수 선언에서는 줄임표 라고합니다 .


생략 부호는 일부 컴파일러 C언어 확장 에서도 사용됩니다 . 예-gcc 스위치 / 케이스 범위 확장

const char *test(unsigned num)
{
    switch(num)
    {
        case 0 ... 9:
            return "the value is in the 0 to 9 range";
        case 10 ... 99:
            return "the value is in the 10 to 99 range";
        default:
            return "out of tested range";
    }
}

https://godbolt.org/z/YBLma-


답변

...이라고 줄임표 영어와 C 표준에 모두.


답변

…의 용도 중 하나는 C 및 C ++에서 가변 요소를 나타내는 것입니다 .`

그렇습니다. 평신도의 용어 ...에서 의사 코드 문장 부호에서와 같이 여러 유형을 나타내는 것으로 생각할 수 있습니다. C ++에서 ‘가변’인수 / 매개 변수)의 경우 함수 또는 템플릿의 가변 개수의 인수를 나타냅니다.

그건 뭐예요?

생략

그런 식으로 사용될 때 연산자 또는 다른 것으로 분류됩니까?

당신이 할 수 있습니다으로 아니, 확실히 조작이 아니다 통과 인수의 수를하지 운영 그들.

…에 관한 다른 세부 사항?

내가 아는 한 –

  1. 특별한 지정자입니다.
  2. 줄임표는 항상 인수 목록에서 마지막에옵니다.
  3. 사용법과 관련하여 템플릿 / 함수의 매개 변수 수에 대한 제한을 제거하려는 경우 또는 확장을 위해 확장 가능한 매개 변수 수가 필요한 경우에만 사용됩니다. (즉, 가변 클래스 템플릿 또는 함수 템플릿에서 파라미터 팩 확장을 제공합니다.) 실제로는 알려진 고정 파라미터 세트가 대부분 필요하므로 대부분의 경우 적용 할 수 없습니다.
  4. sizeof팩 확장으로 분류되므로 운영자 와 함께 사용할 수 있습니다 .

편집 : 나는 ...그 이름과 분류에 대해 묻는 목적이 C와 C ++에서 비슷하다는 것을 알고 있습니다.

이름은 동일하지만 C ++ 및 C에 따라 사용법이 다를 수 있습니다.

이전 언어에서의 사용법에만 익숙합니다. (나는에 HackerRank 문제를 가진 기억 Variadics을 자사의 유틸리티를 포함하는,.)


답변

C와 C ++ 모두에서
3 개의 완전 정지 시퀀스를 줄임표... 라고합니다.


C ++에서 줄임표는 다른 종류의 팩을 초기화하고 확장하는 데 도움이 됩니다 .

  • A- 타입식별자 사이에 줄임표parameter pack 가있을 때
    Type ... identifier

  • A- pack expansion패턴과 줄임표로 구성
    pattern...


답변