作者adrianshum (Alien)
看板C_and_CPP
標題Re: [問題] 名詞解釋
時間Fri Oct 16 20:19:11 2009
※ 引述《QQ29 (我愛阿蓉)》之銘言:
: 常看到板上大大回文會用到的敘述
: 1.instance:.... 是跟class 我宣告一個 物件(object) 同意思嘛??object=instance?
: 還是不一樣??
有點微妙的不同.
instance 你可以想為一個 "實體"
通常會說是某 class 的實體.
object 是只單純是形容那是一件 "物件" 而已.
當然, 某 class 的實體 是一個物件
比如我會說 : 這個 object 可能是 Car 的 instance
不過很多情況下, 搞混了也能通用就是了 :P
: 2.method:...... 我自己看到都以為是講 就是class裡面的 member function
: 有誤解他嘛??
沒有
: 3.具現化: 以vector來講
: 是說我用vector<int> obj;
: ^^^
: 是run time 跑到這行 有了type 才會~~~~~接下來我就不懂了
: 是才會配置空間???才會怎麼樣 才叫做具現化
: 就類似new嚕???
template 其實只是一個模板, 比如我寫了一個
class template 叫 MyClassTmpl<T>, 實際上沒有生成
任何 class.
你可以想像成, 當有人用到 MyClassTmpl<int> 的時候, compiler 就會
自動根據我的 MyClassTmpl<T> , 生成了一個叫 MyClassTmpl_int 的特別 class.
另外有地方用 MyClassTmpl<string> 的時候又會另外再生成一個叫
MyClassTmpl_string 的 class. (名字當然是亂掰的, 講解概念而已)
這個生成 class 的動作就是所謂 (template 的) 具現化
: 4.大家都怎麼敘述 class裡面的private 資料
: 是叫做 member data?還是叫做 private data?
沒有很統一的叫法, 你可以叫
private member variable
private member data
private attribute
甚至像你所說 private data
之類也可以
叫 member data 就有點問題, 因為可以是其他可見程度的
(public, protected etc)
: 以上~~前兩個特別查了google 卻找不到特別解釋的 好像都是常識....
: 請教一下 thx
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
→ dendrobium:method 其實就是指 function 而已 10/16 20:21
→ adrianshum:樓上: 不同. 不是 under class 的不會叫 method 10/16 20:22
→ adrianshum:比如單純一個 strcmp(), 那只是 function, 不會稱為 10/16 20:22
→ adrianshum:method 10/16 20:23
→ adrianshum:如果說 method = member function 那還比較接近 10/16 20:23
推 QQ29:比較接近 那還是有些許的微妙差異嘛@@? 10/16 20:24
→ QQ29:我是想問一下 具現化 這也是在compile time KO的嘛 10/16 20:25
→ QQ29:所以說 instance 是class的實體 所以就算不宣告物件 10/16 20:25
→ QQ29:class也是占了空間嘛? 10/16 20:25
推 Ebergies:Runtime 不需要的, 就不會佔空間 10/16 21:13
推 QQ29:請教樓上的意思是 runtime會?? 可否解釋一下 不是很了解 = = 10/16 21:23
→ LPH66:我先問一下你所謂的"class占空間"你認為會是怎樣的形式? 10/16 21:26
推 QQ29:對不起我不太會回答...我觀念不是很清楚 10/16 21:37
→ QQ29:我在想 如果我class不占空間 runtime new一個obj 10/16 21:38
→ QQ29:不就不知道class裡面有什麼東西嘛? 10/16 21:38
→ softwind:你可以想像 class 是抽象的 不會在mem中佔用一塊空間 10/16 22:16
→ softwind:你可以想像 你不能對int賦值 但是你可以用int 挖一塊mem 10/16 22:17
→ softwind:你挖出來後 就看需要了local stack就是未定值 除非你的 10/16 22:17
→ softwind:建構子 有事先決定要給哪些值... 10/16 22:18
推 holymars:有啊 static的東西就算沒有半個instance也會佔空間XD 10/17 02:09