程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 空結構體(類對於C++)的大小

空結構體(類對於C++)的大小

編輯:C++入門知識

類似代碼:
typedef struct sD
{

}S_D;

int size_d  = sizeof(S_D);

那麼size_d=?

如果這是一段C++代碼,那麼這裡結果是1;看上去編譯器為這樣沒有成員的結構體隱形定義了一個一字節(char)的成員,目的是為了能用來標識類實例之間的不同。
這裡可以這樣理解,如果沒有這一個字節,那麼所有結構體的實例都是空,也就不占內存,那麼他們的實例是沒有區別的,因此C++的編譯器不允許這麼做,從而隱式增加了一個字節。

另外對於class也是同樣的(因此C++中struct和class關鍵字基本沒有區別)。


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved