C +でのtypedef入門


C +は、C +コミュニティで非常に真剣にタイプをとることを意味する、強くタイプされた言語です!タイプが重要で、バグを減らす間、あなたのコードを通して繰り返し使用する長い名前で作り付けられたタイプがあるとき、それはかなり速く疲れます.
// Examples

unsigned long num;

std::pair <std::string,double> product_one; 
導入typedef 宣言、あなたのファイルで宣言して、タイプを使用する簡単な楽な方法.typedef 宣言はニックネームとみなすことができる✨ あなたが作り付けタイプに与え、いつでも言いたいときにinbuilt-type , 代わりに彼らのニックネームを言う.
typedef unsigned long UL; 
UL num; // Equivalent to unsigned long num;

typedef std::pair <std::string,double> PRODUCT
PRODUCT product_one("notebook",54.5); 
// Equivalent to std::pair <std::string,double> ("notebook",54.5);
対照的にclass , struct , union , and enum 宣言typedef declarations 新しいタイプを導入しないでください、彼らは単に既存のタイプのために新しい名前を導入します.どのようなエキサイティングなことは、任意のタイプを宣言することができますtypedef , ポインタ、関数、配列型を含む.
typedef struct {int a; int b;} STRUCT, *p_STRUCT;

// the following two objects have the same type
pSTRUCT p_struct_1;
STRUCT* p_struct_2;
typedef 宣言はスコープされます.variable と同じ名前でtypedef 別のスコープで同じファイルで、あなたは全くタイプエラーに直面するでしょう!
typedef unsigned long UL;   
int main()
{
   unsigned int UL;   
   // re-declaration hides typedef name
   // now UL is an unsigned int variable in this scope
}

// typedef UL back in scope
しかし、最終的にあなたのファイルが読めなくて、あなたがしたい何かでないより混乱しているようにするので、私はこの習慣に非常に忠告します.🤷

In summary, you can use typedef declarations to construct shorter and more meaningful names to the types that are already defined by the language or for the types that you have declared.


うまくいけば、この記事はあなたにtypedefに簡単な紹介をしました、そして、あなたはそれを読んで楽しみました.トピックの詳細情報を取得するには、ドキュメントを参照してくださいhere .
この記事を読んでくれてありがとう😄