longund long intsind identisch. So sind long longund long long int. In beiden Fällen ist das intoptional.
In Bezug auf den Unterschied zwischen den beiden Sätzen schreibt der C ++ - Standard Mindestbereiche für jeden Satz vor, und dieser long longist mindestens so breit wie long.
Die steuernden Teile des Standards (C ++ 11, aber das gibt es schon lange) sind zum einen 3.9.1 Fundamental typesAbschnitt 2 (ein späterer Abschnitt enthält ähnliche Regeln für die vorzeichenlosen Integraltypen):
Es gibt fünf standardmäßige vorzeichenbehaftete Ganzzahltypen: signiertes Zeichen, kurzes int, int, langes int und langes langes int. In dieser Liste bietet jeder Typ mindestens so viel Speicherplatz wie die vorhergehenden in der Liste.
Es gibt auch eine Tabelle 9 in 7.1.6.2 Simple type specifiers, die die "Zuordnungen" der Spezifizierer zu tatsächlichen Typen zeigt (was zeigt, dass das intoptional ist), von denen ein Abschnitt unten gezeigt wird:
Specifier(s) Type
------------- -------------
long long int long long int
long long long long int
long int long int
long long int
Beachten Sie dort den Unterschied zwischen dem Bezeichner und dem Typ. Mit dem Bezeichner teilen Sie dem Compiler mit, um welchen Typ es sich handelt. Sie können jedoch verschiedene Bezeichner verwenden, um zum selben Typ zu gelangen.
Daher longist es für sich genommen weder ein Typ noch ein Modifikator, wie Ihre Frage besagt, sondern lediglich ein Spezifizierer für den long intTyp. Das Gleiche gilt für long longdie Angabe des long long intTyps.
Obwohl der C ++ - Standard selbst nicht die Mindestbereiche integraler Typen angibt, wird C99 in 1.2 Normative referencesals zutreffend angegeben. Daher gelten die in angegebenen C99 5.2.4.2.1 Sizes of integer types <limits.h>Mindestbereiche.
In Bezug auf long doubledas ist das eigentlich eher ein Gleitkommawert als eine ganze Zahl. Ähnlich wie bei den Integraltypen ist es erforderlich, mindestens so genau wie a zu sein doubleund eine Obermenge von Werten über diesen Typ bereitzustellen (dh mindestens diese Werte, nicht unbedingt mehr Werte).