[c++] "long long" = "long long int" = "long int long" = "int long long"ですか?



Answers

タイプは同じですか...

はい。

C ++ 11§7.1.6.2/ 3

msgstr "" "複数のシンプルな型指定子が許されている場合、他のdecl指定子と自由に混在させることができます。

Question

私はlong int long両方が変数型のためにコンパイルできることを発見しました。 long int longint long longlong longlong long int間に違いはありますか?

一般的に、型のlongが同じであれば型は同じですか?

1ロング:

long l;
int long il;
long int li;

2ロング:

long long ll;
int long long ill;
long int long lil;
long long int lli;

また、上記が正しければ、次の宣言も同じですか?

long long* llp;
int long long* illp;
long int long* lilp;
long long int* llip;



"long long" = "long long int" = "long int long" = "int long long"ですか?

他のすべての答えはあなたの質問の第二の部分について語った。 最初の部分について: 「long long」=「long long int」ですか? 答えははいです。

C ++ 11 7.1.6.2単純型指定子(表10)

Specifier(s)            Type
...                     ...
long long int           “long long int”
long long               “long long int”
long int                “long int”
long                    “long int”  
...                     ...  

あなたの質問の第二の部分については: "長いint長い" = "int長い"ですか? 答えはもう一度はいです。

型指定子は、任意の順序で出現し、他の宣言指定子と混在することができます。 したがって、以下のすべて

long long  
long long int  
long int long  
int long long  

有効で同等です。




Links