Re: [問題] C++ 是否真有結構體存在?

看板C_and_CPP (C/C++)作者 (好人超)時間15年前 (2010/11/22 02:44), 編輯推噓10(10020)
留言30則, 9人參與, 最新討論串2/3 (看更多)
事實上,在C++裡的 class OO { public: int member1, member2; }; 與C語言裡的 struct SS { int member1, member2; }; 它們在電腦的記憶體裡的樣子,其實是一模一樣的 雖然我們看程式碼,會覺得它們好像是不同的東西 但是對電腦來說,這根本就沒有差別 所以,如果你認為C語言裡,這個東西叫做結構體: struct SS { int member1, member2; }; 那其實沒道理說這個東西就不是結構體: class OO { public: int member1, member2; }; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.35.184.77 ※ 編輯: james732 來自: 114.35.184.77 (11/22 02:49)

11/22 02:50, , 1F
感謝.這陣子我多翻一下其它書補充好了.謝謝.
11/22 02:50, 1F
我也很推 Inside The C++ Object Model 這本書 但是建議找繁體中文版,因為簡體中文的用語真的很不習慣 Object 簡體中文翻譯為「對象」,這個詞我看了好久還是無法適應 XD 不過遺憾的是繁中版超難找,我目前只在大學圖書館看過 簡中版在拍賣市場倒挺容易買的... ※ 編輯: james732 來自: 114.35.184.77 (11/22 02:52) ※ 編輯: james732 來自: 114.35.184.77 (11/22 02:54)

11/22 02:56, , 2F
XD
11/22 02:56, 2F

11/22 02:57, , 3F
我以後錢很多的話就開出版社,把這些舊書買回來重刷...
11/22 02:57, 3F

11/22 03:01, , 4F
不過大陸書局書真的賣很便宜...買中譯本划算
11/22 03:01, 4F

11/22 03:02, , 5F
james732到時請發名片給我,我有需要會找您的 XD
11/22 03:02, 5F

11/22 03:03, , 6F
class應該能算結構體的子集吧,差在多了ctor/dtor/...
11/22 03:03, 6F

11/22 03:04, , 7F
樓上, 多了東西還是子集喔 o.0?
11/22 03:04, 7F

11/22 03:06, , 8F
有ctor/dtor/...的結構體啊
11/22 03:06, 8F
不過 ctor/dtor 是 compiler 自己在適當的地方插入 function 對於結構體本身來說並沒什麼影響? ※ 編輯: james732 來自: 114.35.184.77 (11/22 03:10)

11/22 03:33, , 9F
簡短的程式碼 http://codepad.org/HGRCXCsi
11/22 03:33, 9F

11/22 03:36, , 10F
名稱改下才能解釋overloading http://ppt.cc/Ee~o
11/22 03:36, 10F

11/22 03:37, , 11F
註解程式碼不同步, 我放棄了...Orz
11/22 03:37, 11F

11/22 03:43, , 12F
11/22 03:43, 12F

11/22 09:40, , 13F
要是有賣電子版就好了,侯捷最近也不知道跑哪,網站都關了
11/22 09:40, 13F

11/22 18:05, , 14F
推薦若水堂的大陸書,俗有大碗 //不過大陸用語真的要花久
11/22 18:05, 14F

11/22 18:05, , 15F
才能習慣"面向對象" "指針" "數組" 等
11/22 18:05, 15F

11/22 18:11, , 16F
匯編 元編程
11/22 18:11, 16F
還有一個「宏」,我一直沒辦法把它跟 macro 連在一起...

11/22 18:11, , 17F
樓上是說易語言嗎
11/22 18:11, 17F

11/22 18:16, , 18F
跟易語言沒關係吧,就大陸用語,一個組語,一個 meta-pro.
11/22 18:16, 18F

11/22 18:47, , 19F
不知道台灣的大學有沒有開易語言的課程
11/22 18:47, 19F
※ 編輯: james732 來自: 114.35.184.77 (11/22 19:15)

11/22 20:23, , 20F
一開始我搞不懂的是"缺省".後來上網查後,發現有很多人
11/22 20:23, 20F

11/22 20:23, , 21F
在做繁/中/簡 的電腦術語對照表.
11/22 20:23, 21F

11/22 21:52, , 22F
莫名其妙 你拿一個特例就說一樣? 那有virtual怎麼辦?
11/22 21:52, 22F
那我把我的意思講完整一點好了 「對於全部都是public member variable並且沒有virtual function的純資料class來說 它跟C的struct是相同的」 其實我要感謝softwind的糾正,因為virtual這個前提真的很重要 雖然原po沒有提到,但還是應該要強調一下

11/22 22:33, , 23F
樓上可能要先看一下原原po的問題喔@_@" 就他的問法, 拿
11/22 22:33, 23F

11/22 22:34, , 24F
一類沒有多型繼乘, 沒有成員函數, 純資料包裝的class來
11/22 22:34, 24F

11/22 22:34, , 25F
對比C的struct, 似乎也沒什麼不妥吧?_?
11/22 22:34, 25F
※ 編輯: james732 來自: 114.35.184.77 (11/22 23:58)

11/23 00:52, , 26F
計較那麼多有辦法釐清別人的觀念嗎?
11/23 00:52, 26F

11/23 00:56, , 27F
小學生: 老師說數字不能小減大. 大學生:你白痴是不會
11/23 00:56, 27F

11/23 00:56, , 28F
用負數表示喔
11/23 00:56, 28F

11/23 01:30, , 29F
也不能有static member
11/23 01:30, 29F

11/23 02:23, , 30F
最最簡單的test, 可以試試看zero length的struct給不給過
11/23 02:23, 30F
文章代碼(AID): #1CwMYAqQ (C_and_CPP)
文章代碼(AID): #1CwMYAqQ (C_and_CPP)