의 사용 중 하나는 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";
}
}
답변
는 ...
이라고 줄임표 영어와 C 표준에 모두.
답변
…의 용도 중 하나는 C 및 C ++에서 가변 요소를 나타내는 것입니다 .`
그렇습니다. 평신도의 용어 ...
에서 의사 코드 문장 부호에서와 같이 여러 유형을 나타내는 것으로 생각할 수 있습니다. C ++에서 ‘가변’인수 / 매개 변수)의 경우 함수 또는 템플릿의 가변 개수의 인수를 나타냅니다.
그건 뭐예요?
생략
그런 식으로 사용될 때 연산자 또는 다른 것으로 분류됩니까?
당신이 할 수 있습니다으로 아니, 확실히 조작이 아니다 통과 인수의 수를하지 운영 그들.
…에 관한 다른 세부 사항?
내가 아는 한 –
- 특별한 지정자입니다.
- 줄임표는 항상 인수 목록에서 마지막에옵니다.
- 사용법과 관련하여 템플릿 / 함수의 매개 변수 수에 대한 제한을 제거하려는 경우 또는 확장을 위해 확장 가능한 매개 변수 수가 필요한 경우에만 사용됩니다. (즉, 가변 클래스 템플릿 또는 함수 템플릿에서 파라미터 팩 확장을 제공합니다.) 실제로는 알려진 고정 파라미터 세트가 대부분 필요하므로 대부분의 경우 적용 할 수 없습니다.
sizeof
팩 확장으로 분류되므로 운영자 와 함께 사용할 수 있습니다 .
편집 : 나는
...
그 이름과 분류에 대해 묻는 목적이 C와 C ++에서 비슷하다는 것을 알고 있습니다.
이름은 동일하지만 C ++ 및 C에 따라 사용법이 다를 수 있습니다.
이전 언어에서의 사용법에만 익숙합니다. (나는에 HackerRank 문제를 가진 기억 Variadics을 자사의 유틸리티를 포함하는,.)
답변
C와 C ++ 모두에서
3 개의 완전 정지 시퀀스를 줄임표...
라고합니다.
C ++에서 줄임표는 다른 종류의 팩을 초기화하고 확장하는 데 도움이 됩니다 .
-
A- 타입 과 식별자 사이에 줄임표
parameter pack
가있을 때
Type ... identifier
-
A-
pack expansion
패턴과 줄임표로 구성
pattern...