類與結構有很多相似之處:結構可以實現介面,並且可以具有與類相同的成員型別。然而,結構在幾個重要方面不同於類:結構為值型別而不是引用型別,並且結構不支援繼承。結構的值儲存在「在堆疊上」或「內聯」。細心的程式設計師有時可以通過聰明地使用結構來增強效能。
例如,將 point 定義為結構而不是類在執行時可以節省很多記憶體空間。下面的程式建立並初始化乙個 100 點的陣列。對於作為類實現的 point,出現了 101 個例項物件,因為陣列需要乙個,它的 100 個元素每個都需要乙個。
class point }
class test }
如果將 point 改為作為結構實現,如
struct point }
則只出現乙個例項物件(用於陣列的物件)。point 例項在陣列中內聯分配。此優化可能會被誤用。使用結構而不是類還會使應用程式執行得更慢或占用更多的記憶體,因為將結構例項作為值引數傳遞會導致建立結構的副本。
C 語言規範
c 語言規範的 1.2 和 2.0 版是關於 c 語法的權威資料。它們包含該語言各個方面的詳細資訊,包括 visual c 產品文件未涉及的許多語法點。1.2 規範討論了在 visual c 2005 推出之前為該語言新增的功能,而 2.0 規範則討論了針對 visual c 2005 新增的功能。...
C語言規範
1.對該原始檔用到的所有自定義的函式 除了主函式 在程式開頭進行宣告 該宣告僅是為方便閱讀者對檔案內的函式進行全了,當然也可減少沒做到第2點而出現的尷尬 2.被呼叫的函式放在主調函式前面,可以避免重複宣告 雖然在程式開頭進行宣告過 int getmax divisor int m,int n 放在主...
C語言程式設計規範
1 標頭檔案中適合放置介面宣告,不適合放實現 2 標頭檔案職責單一 3 標頭檔案應向穩定的方向包含 1 只能通過包含標頭檔案的方式使用其他模組提供的介面,禁止在.c中通過extern的方式使用外部函式介面 變數 2 禁止在標頭檔案中定義變數 3 禁止在extern c 中包含標頭檔案 4 總是編寫內...