[問題] sizeof大小變動的class
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
g++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
none
問題(Question):
最近在測試sizeof發現了一個問題,假設宣告class為
class data{
public:
int score;
char *name;
};
initiate兩個data物件;
data d1;
d1.score=100;
d1.name="aaa";
data d2;
d2.score=0;
d2.name="x";
然後用sizeof求大小
sizeof(d1);
sizeof(d2);
餵入的資料(Input):
預期的正確結果(Expected Output):
求出來的結果是一樣都是8,但是希望可以求出該物件真正Byte的大小
ex. d1:4+4=8;
d2:4+2=6;
請問各位大大除了 sizeof(d1.score)+strlen(d1.name)+1還有什麼方法呢?
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 169.234.137.89
推
07/04 14:25, , 1F
07/04 14:25, 1F
→
07/04 14:26, , 2F
07/04 14:26, 2F
→
07/04 14:27, , 3F
07/04 14:27, 3F
→
07/04 14:28, , 4F
07/04 14:28, 4F
※ 編輯: oneill 來自: 169.234.137.89 (07/04 14:51)
推
07/04 14:47, , 5F
07/04 14:47, 5F
→
07/04 14:48, , 6F
07/04 14:48, 6F
→
07/04 14:53, , 7F
07/04 14:53, 7F
→
07/04 14:53, , 8F
07/04 14:53, 8F
→
07/04 14:57, , 9F
07/04 14:57, 9F
→
07/04 14:58, , 10F
07/04 14:58, 10F
→
07/04 14:59, , 11F
07/04 14:59, 11F
→
07/04 14:59, , 12F
07/04 14:59, 12F
推
07/04 15:00, , 13F
07/04 15:00, 13F
→
07/04 15:02, , 14F
07/04 15:02, 14F
→
07/04 15:02, , 15F
07/04 15:02, 15F
→
07/04 15:02, , 16F
07/04 15:02, 16F
→
07/04 15:02, , 17F
07/04 15:02, 17F
→
07/04 15:02, , 18F
07/04 15:02, 18F
→
07/04 15:04, , 19F
07/04 15:04, 19F
→
07/04 15:05, , 20F
07/04 15:05, 20F
→
07/04 15:05, , 21F
07/04 15:05, 21F
→
07/04 15:05, , 22F
07/04 15:05, 22F
推
07/04 15:05, , 23F
07/04 15:05, 23F
→
07/04 15:05, , 24F
07/04 15:05, 24F
→
07/04 15:05, , 25F
07/04 15:05, 25F
→
07/04 15:08, , 26F
07/04 15:08, 26F
→
07/04 15:15, , 27F
07/04 15:15, 27F
→
07/04 15:17, , 28F
07/04 15:17, 28F
→
07/04 15:19, , 29F
07/04 15:19, 29F
推
07/04 15:19, , 30F
07/04 15:19, 30F
→
07/04 16:31, , 31F
07/04 16:31, 31F
→
07/04 16:31, , 32F
07/04 16:31, 32F
→
07/04 16:33, , 33F
07/04 16:33, 33F
→
07/04 16:37, , 34F
07/04 16:37, 34F
→
07/04 16:37, , 35F
07/04 16:37, 35F
→
07/04 16:38, , 36F
07/04 16:38, 36F
→
07/04 17:08, , 37F
07/04 17:08, 37F
→
07/04 17:09, , 38F
07/04 17:09, 38F
→
07/04 17:13, , 39F
07/04 17:13, 39F
推
07/04 17:16, , 40F
07/04 17:16, 40F
→
07/04 17:18, , 41F
07/04 17:18, 41F
→
07/04 17:18, , 42F
07/04 17:18, 42F
→
07/04 17:20, , 43F
07/04 17:20, 43F
推
07/04 17:25, , 44F
07/04 17:25, 44F
→
07/04 17:42, , 45F
07/04 17:42, 45F
→
07/04 18:36, , 46F
07/04 18:36, 46F
推
07/05 10:14, , 47F
07/05 10:14, 47F
→
07/05 10:14, , 48F
07/05 10:14, 48F
→
07/06 13:25, , 49F
07/06 13:25, 49F
→
07/06 13:27, , 50F
07/06 13:27, 50F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):