2013-02-07 34 views
2

我是一名程序設計專業的學生,​​偶爾遇到以下提及:通用C,這是否只是簡單的經典C什麼是「通用C」?

它通常出現在上下文中如此「通用C/C++中的任何嚴重的軟件常用數據結構實現」;我敢肯定,我只是被誤讀這種提法的(通用)/ C++而不是:通用(C/C++)。它看起來可能指的是一組庫。感謝你的回覆。

+0

也許術語是[ 「清潔C」](http://stackoverflow.com/questions/9694776/what-is-clean-c-and-how-does-it-differ-from-standard -C)? – 2013-02-07 00:59:23

+2

如果你給出了一些上下文,這將有所幫助。 –

+3

它可能意味着ANSI C.換言之,標準C而沒有任何特定於平臺的擴展,例如POSIX,Win32等 –

回答

3

通用C/C++,在任何嚴重的軟件常用數據結構」

這裏,通用實現C/C++是在實現前面列出的只是不同的形容詞數據結構的;能等效地說「C/C++通用實施方式中...」或「在C通用實現/ C++」等。數據結構,例如列表和二叉樹通常用於任意的數據類型,如intdouble和用戶定義的結構。允許將數據結構代碼重用於任意類型的實現稱爲「通用」實現。

在C,例子是標準庫的二進制搜索和快速排序功能,其接受不理解記憶的內容數據,以及函數指針調用執行數據的有意義的解釋。見http://www.cplusplus.com/reference/cstdlib/qsort/http://www.cplusplus.com/reference/cstdlib/bsearch/

在C++中,模板提供了通用數據結構更好的支持,與標準庫託管通用矢量,列表,(二叉樹關聯的)地圖,雙端隊列,棧,最近哈希表稱爲unordered_maps等。