Existe um operador de navegação seguro para C ++?
No C ++ moderno, existe uma maneira de fazer uma navegação segura?
Por exemplo,em vez de De fazer...
if (p && p->q && p->q->r)
p->q->r->DoSomething();
... tendo uma sintaxe sucinta usando algum tipo de ponteiro inteligente em curto-circuito, ou algum outro tipo de sintaxe que alavanque a sobrecarga do operador, ou algo na Biblioteca C ++ padrão ou no Boost.
p?->q?->r?->DoSomething(); // C++ pseudo-code.
O contexto é C ++ 17 em particular.