web-dev-qa-db-ja.com

CおよびC ++プログラムで型をマークするにはどうすればよいですか?

この私の解答 では、型の最後に_tを使用しましたが、これはせいぜい、物議をかもしました。これは、現在のプロジェクトで使用している方法です。

typedef struct {
    int x;
    int y;
} point_t;

これは、stddef.hsize_tのようなptrdiff_tのC型との一貫性を保つためのものです。ただし、私の質問の特定のコメントによると、_tのポストフィックスはPOSIX用に予約されているようです。 _tの代わりに何を使用すればよいですか?それとも_tを引き続き使用する必要がありますか?

この質問は、CとC++の両方を対象としています。これらの言語の規則が異なる場合は、自由に回答してください。

12
Konrad Borowski

CおよびC++コミュニティー内では、命名タイプに関してコンセンサスはありません。

_tサフィックスは確かに POSIXによって予約されています 、一部は_t独自のタイプのサフィックスも同様ですが、POSIXで名前が重複する危険を冒すことで運命を誘惑するべきではないと主張する人もいます。

別の命名規則では、CTなどのタイプの接頭辞の使用を推奨しています。

サフィックスがかなり見苦しいので、_tなど。代わりに大文字を使用してタイプ名を開始することをお勧めします。上記の例ではPointです。

16
William Morris

あなた次第です。予約語との矛盾がない限り、行ってもかまいません。ただし、会社で働いていて、複数の人が同じコードベースにアクセスしていて、自分の習慣に気付いていない人にコードが届くようなシナリオを考えてみてください。あなたはpoint_tのようなものを書きます。だから、それをよりシンプルにしてください。 pointはpoint_tよりも単純です。それに何かを追加したい場合は、名前のイニシャルを追加します。

1
kamran