Um dos usos de ...
é denotar entidades variadas em C e C ++.
Qual o nome disso?
É classificado como operador ou outra coisa quando usado dessa maneira?
Quaisquer outros detalhes sobre ...
?
Edit:
Eu sei o propósito de ...
. Estou perguntando sobre seu nome e classificação, que espero, seja semelhante em C e C ++.
Respostas:
É um dos pontuadores .
Na declaração de função, isso é chamado de reticências .
As reticências também são usadas por algumas
C
extensões de linguagem do compilador . Exemplo - extensão gcc switch / case rangehttps://godbolt.org/z/YBLma-
fonte
...
é um operador, porque não pode fazer parte de uma expressão (no sentido de 'expressão' definido por C11 §6.5 ). Tem mais em comum com e do que com os outros pontuadores.{
}
;
...
pode fazer parte de uma expressão. Mas não é considerado um operador pela sintaxe formal.O
...
é referido como reticências em inglês e no padrão C.fonte
Sim, nos termos do leigo,
...
pode-se considerar que denota mais de um ou múltiplos (como na pontuação do pseudo-código, às vezes usamos vários pontos para se parecer com tipos diferentes) de um caso de uso, para o qual se considerarmos variáveis (sendo múltiplas no sentido de argumentos / parâmetros 'variáveis') em C ++, ele se refere a um número variável de argumentos para funções ou modelos.Elipse
Não, definitivamente não é um operador, pois permite transmitir qualquer número de argumentos, não operar sobre eles.
Até onde sei -
sizeof
operador, pois também é classificado como uma expansão de pacote.O nome é o mesmo, mas o uso pode variar para C ++ e C.
Estou familiarizado apenas com o seu uso no idioma antigo. (Lembro-me de ter um problema do HackerRank no Variadics , cobrindo sua utilidade.)
fonte
A sequência de três pontos completos
...
é chamada de reticências em C e C ++No C ++, as reticências ajudam a inicializar e expandir diferentes tipos de pacotes .
A
parameter pack
- quando houver reticências entre o tipo e o identificadorType ... identifier
A
pack expansion
- consiste em um padrão e uma elipsepattern...
fonte