Gemäß dem C ++ Standard (7.1.6.2 Einfache Typspezifizierer)
3 Wenn mehrere einfache Typspezifizierer zulässig sind, können sie in beliebiger Reihenfolge frei mit anderen Deklarationsspezifizierern gemischt werden.
So ist beispielsweise die folgende Deklaration gültig
long static long const int x = 10;
Sie können sogar den constexpr
Bezeichner zusammen mit dem const
Qualifizierer verwenden. Beispielsweise
constexpr long static long const int x = 10;
Übrigens haben wir den Spezifizierer vergessen signed
! Fügen wir es zum Beispiel vor dem Deklarator hinzux
constexpr long static long const int signed x = 10;
In C können Sie auch mehrere Typqualifizierer in derselben Deklarationsspezifikatorsequenz verwenden. Gemäß C-Standard (6.7.3 Typqualifizierer)
5 Wenn dasselbe Qualifikationsmerkmal mehrmals direkt oder über ein oder mehrere Typedefs in derselben Spezifikator-Qualifikator-Liste vorkommt, ist das Verhalten dasselbe, als ob es nur einmal vorkommt ....
So gilt beispielsweise in C auch die folgende Deklaration
const long const long static const int const signed x = 10;
Wenn Sie also nach der Anzahl der im Programm eingegebenen Symbole bezahlt werden, empfehle ich Ihnen, solche Erklärungen zu verwenden. :) :)
std::swap
. Dies wird nicht kompiliert, wenn die Typen nicht identisch sind.