Re: [問題] 什麼時後 不該用/該用reference當member

作者: KanzakiHAria (神崎・H・アリア)   2018-07-29 09:26:50
※ 引述《lovejomi (JOMI)》之銘言:
: 雖然說reference 可以當作non null去操作
: 但有心要傳*null也不是不行.
: 開reference 給別人傳,比起pointer更有機會caller不小心傳入local variable
: 以上都可以用一句話“哪有人會這樣寫”來否定用pointer存.
寫函式庫必須假設使用者都是智障 或者未來寫code的人都是智障
"哪有人會這樣寫" 並不成立
不要說有心要傳 連誤傳都要避免
設計成 Falling Into The Pit of Success 才是正確的
所以請愛用推文的smart pointer搭配推文的std::function
template<typename ...InTypes>
using ForCallback =
::std::shared_ptr<::std::function<void(InTypes...)>>;
我認為stackoverflow這篇不錯
https://stackoverflow.com/questions/33562942/

Links booklink

Contact Us: admin [ a t ] ucptt.com