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