De acordo com o padrão C ++ (7.1.6.2 Especificadores de tipo simples)
3 Quando vários especificadores de tipo simples são permitidos, eles podem ser livremente misturados com outros especificadores de declínio em qualquer ordem.
Por exemplo, a seguinte declaração é válida
long static long const int x = 10;
Você pode até usar o constexpr
especificador junto com o const
qualificador. Por exemplo
constexpr long static long const int x = 10;
A propósito, esquecemos o especificador signed
! Vamos adicioná-lo, por exemplo, ao declaradorx
constexpr long static long const int signed x = 10;
Em C, você também pode usar vários qualificadores de tipo na mesma sequência de especificador de declaração. De acordo com o Padrão C (6.7.3 Qualificadores de tipo)
5 Se o mesmo qualificador aparecer mais de uma vez na mesma lista de especificadores-qualificadores, diretamente ou por meio de um ou mais typedefs, o comportamento será o mesmo que apareceu apenas uma vez ....
Por exemplo, em C, a seguinte declaração também é válida
const long const long static const int const signed x = 10;
Portanto, se você é pago de acordo com o número de símbolos digitados no programa, recomendamos que você use essas declarações. :)
std::swap
. Isso não será compilado se os tipos não forem idênticos.