不完全型別

2021-06-26 00:33:47 字數 399 閱讀 2257

不完全型別指「函式之外、型別的大小不能被確定的型別」

總結一下,c的型別分為:

結構體的宣告就是乙個不完全型別的典型例子。

struct  woman_tag;

struct man_tag ;

struct woman_tag ;

這樣是沒問題的。

如果將man_tag結構中的struct  woman_tag *wife換成struct  woman_tag  wife,由於woman_tag在man_tag之後定義,所以man_tag只獲知了woman_tag的宣告,只知道有這個「人」,但還未見過她,不知道長什麼樣,所以在記憶體中畫不出她的模樣。

在c標準中,void型別也被歸類為不完全型別。

不完全型別

c 允許在乙個 檔案中存放多個類,但這樣往往不便於類的管理,所以一向是提倡乙個檔案中只存放乙個類。不過呢,隨著類規模的不斷膨脹,乙個檔案中存放乙個類也有些顯得臃腫,或者是在某個角度上不便於 的組織。因此,c 2.0中引入了不完全型別的概念,即啟用了新的修飾符partial。借助該修飾符,我們可以在多...

不完全型別

有時候我們在一些編譯器寫 的時候會碰見不完全型別這個編譯錯誤,那麼什麼是不完全型別,為啥會出現呢 不完全型別指 函式之外 型別的大小不能被確定的型別 只能以有限方式使用。不能定義該型別的物件。不完全型別只能用於定義指向該型別的指標及引用 1 或者用於宣告使用該型別作為形參型別或者返回值型別。c的型別...

C 刪除不完全型別陣列

看智慧型指標的時候遇到一組函式蠻有意思的,即checked delete t x 和checked array delete t x 這兩個函式的作用是安全刪除引數所指向的變數或陣列。templateinline void checked delete t x templateinline void...