在Modern C ++中,有没有一种方法可以进行安全导航?
例如,不要做...
if (p && p->q && p->q->r)
p->q->r->DoSomething();
Run Code Online (Sandbox Code Playgroud)
...通过使用某种短路的智能指针,或利用运算符重载的某种其他语法,或在标准C ++库或Boost中的某些东西,具有简洁的语法。
p?->q?->r?->DoSomething(); // C++ pseudo-code.
Run Code Online (Sandbox Code Playgroud)
上下文尤其是C ++ 17。