2011-06-25 35 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

不透明數據類型主要指的是不完整的struct(已宣告但尚未定義的一個),例如

struct X; 

你一無所知X,你只可以在某些情況下X &和X使用*。我建議你檢查一下tha pimpl idiom

1

據我所知,不透明數據類型是您的代碼無法看到的數據類型,用於讀取或修改數據類型。你只能用它們作爲指針和函數。這樣數據類型的實際實現可以改變而不會破壞任何使用它的代碼。

3

實施例:

類型FILE,在<stdio.h>聲明。你不知道這個類型是什麼。您只使用指向類型的指針,並且庫本身知道類型的內部並可以使用這些數據。

+0

大多數使用''的程序都有一個例子(可能是隱含的,用'stdin'和'stdout')'FILE'類型作爲不透明類型 – pmg