任務一、
問題1
自定義了兩個類,分別是window和button類,引用了標準庫vector和string類
window---{string,button vector}
button----{string}
問題2
這個函式可以使用inline來修飾,它的邏輯簡單,使用可以最佳化程式
不可以使用const,內部的button和click都不是const型別
問題3
功能是建立一個有40個‘*’的字串
任務二、
問題1、
第一行初始化v1,第二行深複製,第三行,改變v1第0個元素的值
問題2、
同上,但是v2被宣告成了const,經過實驗,表示v2不可更改,v2中的元素不能更改
問題3、
39-43行程式碼,t1深複製v1的0號元素,列印v1的最後一個元素,t2同理,const我不加仍然可以執行
問題4、
vector中都是深複製,甚至二維的都是深複製
at()需要一個const成員函式作為介面,可以增加介面的豐富度(其他不太明白)
任務三
問題1、
是深複製、
問題2、
改成int&就沒用啦,因為返回的就無法繼續操作了
如果去掉了可以假設一個場景:
我們建立了一個const的物件,呼叫了這個const的at函式,但是可能會返回一個非const的解引用型別回來,
這個返回值是沒有const的,那麼我們的const就會被小賊篡改