更新TweetC/C++の予約語の一つ。しいデータ型を作り出すわけではない。別名を付けるだけである。CおよびC++の標準では、標準として提供するtypedefの型名には_tのサフィックスを付けている。似たようなものに#defineがあるが、typedefとは解釈するプログラムが異なる。#defineはプリプロセッサーが解釈し、typedefはコンパイラーが解釈する。C++では、C++11以降はusingを使って別名定義が可能となっており、typedefは既に古くさい書き方となっている。整数を扱うデータ型SEISUを定義する。SEISU;SEISU型はint型と完全に同じ変数型となる。int型に代入してもされてもエラーにはならない。b;別名を付けて、データ型を抽象化したい場合に有効である。structなどをtypedefすることもできる。するとデータ型名を構造体と意識させずに利用させることができ、利便が高まる。賛否typedefの使用は避けるべきだと主張する者もいる。その理由として、typedefは実際のデータ型を隠蔽し、巨大な構造体でも単純な型と誤認して使用できてしまうため、などとする。逆に、これは利点だと主張する者もいる。データ型を隠蔽することでデータのカプセル化向上に寄与する他、後からデータ型の仕様変更があっても、プログラムの変更が不要で、定義の部分だけを変えれば済む、などとしている。CやC++の標準は、typedefを増やす方向である。実用例このデータ型の隠蔽は、実際にtime_tの仕様変更に有効に生かされている。time_tは従来は32ビット長だったが、のちに64ビット長に伸ばされた。long型にすべて書き換える必要があり、影響は大きい。longに変えるだけで済んだのである。参加の案内ダウンロード↑本の。