1. ホーム
  2. c++

[解決済み] ポインターを型付けするのは良いアイデアですか?

2023-05-02 20:23:23

質問

あるコードを見ていて、ポインタの型は次のように変換されることに気づきました。

SomeStruct* 

typedef SomeStruct* pSomeStruct;

何かメリットがあるのでしょうか?

どのように解決するのですか?

ポインタ自体がブラックボックス、つまり内部表現がコードと無関係であるべきデータの一部と見なすことができる場合、これは適切である可能性があります。

基本的に、もしあなたのコードが は決して を参照せず,API 関数でポインタを渡すだけなら,型定義は * の数を減らすだけでなく、プログラマにポインタが実際に干渉されるべきではないことを示唆します。

これはまた、将来的に必要性が生じた場合に、APIを変更することを容易にします。たとえば、ポインタではなく ID を使用するように変更した場合 (またはその逆の場合)、ポインタがそもそもデリファレンスされることになっていないため、既存のコードは壊れません。