第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

c++ 拷貝構(gòu)造和移動(dòng)構(gòu)造同時(shí)存在 導(dǎo)致 move 的行為差異

c++ 拷貝構(gòu)造和移動(dòng)構(gòu)造同時(shí)存在 導(dǎo)致 move 的行為差異

紅糖糍粑 2019-10-16 10:30:13
首先我粗淺的認(rèn)為同時(shí)存在沒有問題,因?yàn)橐粋€(gè)是創(chuàng)建一個(gè)變量副本一個(gè)轉(zhuǎn)移一個(gè)生存周期將到的變量所申請的資源環(huán)境g++.exe(Rev2,BuiltbyMSYS2project)9.2.0g++.exe(x86_64-posix-seh-rev0,BuiltbyMinGW-W64project)8.1.0實(shí)驗(yàn)sf抽風(fēng),源碼見http://code.bulix.org/k07gcm-891664A(?const?A&?c?)&A(?A&&?c?)同時(shí)存在的輸出this:0x66f880@A()0申請內(nèi)存:0x732760this:0x737d50@A(A&&c)0移動(dòng)內(nèi)存:0x732760this:0x66f880@~A()0被移動(dòng)內(nèi)存:0this:0x66f880@A()1申請內(nèi)存:0x737d70this:0x737dc0@A(A&&c)1移動(dòng)內(nèi)存:0x737d70this:0x737db0@A(constA&c)99//???this:0x737d500申請內(nèi)存:0x737de0this:0x737d50@~A()0釋放內(nèi)存:0x732760this:0x66f880@~A()1被移動(dòng)內(nèi)存:0over0x737db0:99//???0x737dc0:1this:0x737db0@~A()99釋放內(nèi)存:0x737de0this:0x737dc0@~A()1釋放內(nèi)存:0x737d70可見調(diào)用了拷貝構(gòu)造函數(shù),這是不是內(nèi)部沒有使用std::move導(dǎo)致調(diào)用拷貝構(gòu)造函數(shù)?(瞎猜)只有A(?A&&?c?)時(shí)的輸出this:0x66f880@A()0申請內(nèi)存:0x1f2760this:0x1f7d50@A(A&&c)0移動(dòng)內(nèi)存:0x1f2760this:0x66f880@~A()0被移動(dòng)內(nèi)存:0this:0x66f880@A()1申請內(nèi)存:0x1f7d70this:0x1f7dc0@A(A&&c)1移動(dòng)內(nèi)存:0x1f7d70this:0x1f7db0@A(A&&c)0移動(dòng)內(nèi)存:0x1f2760this:0x1f7d50@~A()0被移動(dòng)內(nèi)存:0this:0x66f880@~A()1被移動(dòng)內(nèi)存:0over0x1f7db0:00x1f7dc0:1this:0x1f7db0@~A()0釋放內(nèi)存:0x1f2760this:0x1f7dc0@~A()1釋放內(nèi)存:0x1f7d70問題2classAa(2);vect.push_back(std::move(a));輸出this:0x66f880@A()0申請內(nèi)存:0x1f2760this:0x1f7d50@A(A&&c)0移動(dòng)內(nèi)存:0x1f2760this:0x66f880@~A()0被移動(dòng)內(nèi)存:0這個(gè)應(yīng)該是push_back的源碼push_back(value_type&&?__x){?emplace_back(std::move(__x));?}為什么只調(diào)一次移動(dòng)構(gòu)造函數(shù),被優(yōu)化了?+------------------------------+|在這里創(chuàng)建變量|+------------------------------+vect.push_back(std::move(a));+------------------------------+|調(diào)用移動(dòng)構(gòu)造函數(shù)|+------------------------------+emplace_back(std::move(__x));//
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 974 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號