に対して不透明ポインタを使用して、私はそのように、自分のコードの抽象化とカプセル化を適用する方法として、構造体への不透明ポインタを使用:私のCプログラミングでは、非構造体型
interface_header.h:
typedef struct s_mytype t_mytype;
defs_header.h:
struct s_mytype
{
/* Actual definition of the struct */
};
私は(例えばchar
)t_mytype
として単純型を使用したい私の問題が、interfaに通知しませんそれについてのce。私はちょうどtypedef char t_mytype
を使用することはできません。そのタイプの内部を公開するからです。 私は単にvoidポインタを使うことができますが、型チェックの代償を払って、むしろそれを避けたいと思います。
コンパイラからtypedef redefinition with different types
を投げるので、2つのtypedefを実行することもできません。
私は単純な型になりますが、1つのメンバだけで構造体をやることを検討していますが、それは過剰なものでしょうか?
ご回答ありがとうございます。
不透明タイプが必要な場合は、構造が必要です。不透明感かシンプルさがより重要かどうかを決める。周りにポインタを渡すことを忘れないでください。 –
単一のメンバーを使用します。あなたの*ソース*の定型文のビットですが、コンパイルされたコードは違うはずはありません。 –
'sockaddr'と' sockaddr_in'の実装方法と似たようなことができますか? – MFisherKDX