2016-10-04 8 views
1

は、例があります:`long unsigned typedef int long ullong;はどういう意味ですか? <a href="http://en.cppreference.com/w/cpp/language/typedef" rel="nofollow">cppreference page of typedef</a>で

// typedef can be used anywhere in the decl-specifier-seq 
long unsigned typedef int long ullong; 

私はこれが何を意味するかを把握することはできません.... plsは助けますか?

+1

[declarations](http://en.cppreference.com/w/cpp/language/declarations)へのハイパーリンクがあるので、* decl-specifier-seq *は何かを知ることができます。 – IInspectable

+0

@TavianBarnesルールはちょうどi)typedefは1つの宣言のどこにでも出現でき、ii)重複したもの(例えば 'long')は無視できますか? – athos

+0

'long'は2回目に無視されません。 'long long'は' long'とは異なるタイプです。 3回目に 'long'をインクルードすると、エラーが発生します。 – Brian

答えて

7

それは

typedef unsigned long long int ullong; 

5つのワードtypedefunsignedlonglong、及びintは単一赤緯指定子 - 配列を形成赤緯指定子 Sであり、及び(同じことを意味しいくつかの可能性のある例外の例外があります)のdecl-specifier-seqの意味または妥当性は、の宣言指定子の順序に依存しません。 int static x;static int x;と同じことを意味し、void virtual f();は、いくつかの追加の例を与えるために、virtual void f();と同じことを意味していること

注意。

1
unsigned long long int 

は、C++のデータ型です。この行は基本的に "ullong"というエイリアスを作成します。

関連する問題