2011-06-25 18 views
3

可能性の重複:
What is an opaque value?Cで不透明データ型を説明できますか?

int main() { 
    // Opaque data type? 

    return 0; 
} 

いずれか例を挙げて詳細に不透明なデータ型について説明できますか?

+0

これはこれに関連していますか? http://stackoverflow.com/questions/3854113/what-is-an-opaque-value –

+0

あなたの質問は非常に曖昧です。もう少し詳細を教えてください。 – Bart

答えて

2

不透明なデータのほとんどは、あなたがXについて何も知らない、そのような

struct X; 

として、不完全な構造体(宣言されていますが定義されていないされたもの)を指し入力し、あなただけのX &いくつかの状況で使用してXすることができます*。私はあなたがpimpl idiomをチェックアウトすることをお勧めします。

1

私が理解しているように、Opaqueのデータ型は、コードが内部で読み取ったり変更したりすることができないデータ型です。あなたはポインタと関数を使ってそれらを操作します。このようにして、データ型の実際の実装は、それを使用するコードを壊すことなく変更できます。

3

例:

<stdio.h>に宣言された型FILE、。あなたはそのタイプを構成するものがわからない。型へのポインタのみを使用し、ライブラリ自体は型の内部を知っており、データを使用することができます。

+0

''を使用するほとんどのプログラムは、不透明な型として使用される 'FILE'型の例(暗黙的に、' stdin'と 'stdout'で)を持っています – pmg

関連する問題