[問題] const 寫在 member function 後面的意思?

看板C_and_CPP (C/C++)作者 (^^)時間13年前 (2013/01/23 20:42), 編輯推噓4(407)
留言11則, 9人參與, 最新討論串1/1
virtual std::auto_ptr<DoSomething> clone() const=0; 上面這個函數宣告~最後面那個const是什麼意思??? 麻煩知道的人可以告訴我 謝謝 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.224.38

01/23 20:54, , 1F
表示你希望這個函數不會去修改到類別裡面的變數值。
01/23 20:54, 1F

01/23 21:17, , 2F
相當clone(const std::auto_ptr<DoSomething> *this) 嗎?
01/23 21:17, 2F

01/23 21:52, , 3F
修飾this指標嚕
01/23 21:52, 3F

01/24 00:31, , 4F
哇太厲害了QQ~但是我還是不太懂QQ
01/24 00:31, 4F

01/24 00:31, , 5F
這樣=0代表什麼意思呢QQ
01/24 00:31, 5F

01/24 00:34, , 6F
pure virtual function
01/24 00:34, 6F

01/24 00:37, , 7F
表示這個function是 const的object會呼叫的函式
01/24 00:37, 7F

01/24 00:52, , 8F
non-const object也可以呼叫, 其實就修飾this這樣
01/24 00:52, 8F

01/24 13:54, , 9F
裡面不能寫 this->val = 1; 之的吧
01/24 13:54, 9F

01/24 16:59, , 10F
不要去看std::auto_ptr比較好 這個東西有點問題
01/24 16:59, 10F

01/25 20:43, , 11F
哈哈謝謝各位的解答XD
01/25 20:43, 11F
文章代碼(AID): #1G_zh9Bo (C_and_CPP)
文章代碼(AID): #1G_zh9Bo (C_and_CPP)