個人認(rèn)為c++11里最難的是右值引用譬正,因此在此梳理一下
移動語義:利用move函數(shù)來標(biāo)記右值進(jìn)行移動檬姥。對于基本類型,行為和拷貝一樣健民。對于內(nèi)存上的資源,其速度會大幅提升
雖然關(guān)于移動構(gòu)造的規(guī)則繁雜蛉谜,但是可以總結(jié)出幾個簡單實用的原則
1能使用移動的時候就應(yīng)該使用移動
2沒有資源的類進(jìn)行移動構(gòu)造崇堵,其行為等價于拷貝
3有資源的類進(jìn)行移動構(gòu)造,需要將資源指針置空筑辨。(如果你不確定析構(gòu)函數(shù)的行為,就將所有資源相關(guān)指針置空而不只是handle)