[問題] is_nothrow_move_constructible 相關問題

看板C_and_CPP (C/C++)作者 (God of Computer Science)時間2年前 (2022/01/29 00:25), 編輯推噓0(118)
留言10則, 3人參與, 2年前最新討論串1/1
如題,小弟我呢沒接觸過 std::is_nothrow_move_constructible<T>::value 的概念, 目前接手到一份 code:https://pastecode.io/s/h3f36rmp 無法通過測試, 也就是 static_assert(std::is_nothrow_move_constructible<T>::value); 請問我該怎麼修改那個 class 使其通過這個測試呢?謝謝大家。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.242.237.96 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1643387102.A.0E1.html

01/29 04:34, 2年前 , 1F

01/29 23:10, 2年前 , 2F
move constructible: 有 move 建構子
01/29 23:10, 2F

01/29 23:12, 2年前 , 3F
is nothrow: 該建構子要宣告 noexcept
01/29 23:12, 3F

01/29 23:13, 2年前 , 4F
你 44 行的東西不是 move 建構子, 因為它還有第二個參數
01/29 23:13, 4F

01/29 23:15, 2年前 , 5F
看起來你的這個第二參數是拿來做記憶體管理的
01/29 23:15, 5F

01/29 23:16, 2年前 , 6F
那你必須要改成留一個它的參考在 class 裡
01/29 23:16, 6F

01/29 23:16, 2年前 , 7F
move 的時候從被 move 的人身上找到這個東西讓它跟過去
01/29 23:16, 7F

01/30 00:02, 2年前 , 8F
懂了!我明天試試看~
01/30 00:02, 8F

01/30 15:32, 2年前 , 9F
成功了!雖然我code其他部分還是有 runtime error,
01/30 15:32, 9F

01/30 15:38, 2年前 , 10F
但這個部分的error確實消失了,奉送大大1000P
01/30 15:38, 10F
文章代碼(AID): #1Xz1ZU3X (C_and_CPP)
文章代碼(AID): #1Xz1ZU3X (C_and_CPP)