Я относительно новичок в C++ и работаю над довольно большим проектом C++ на работе. Я заметил несколько функций, которые принимают двойные указатели в качестве параметров для объектов, которые функция будет инстанцировать на куче. Пример:
int someFunc(MyClass** retObj) {
*retObj = new MyClass();
return 0;
}
Я просто не уверен, почему в этом проекте всегда используются двойные указатели, а не просто одинарный указатель? Это в основном семантическая подсказка, что это параметр выхода/возврата, или есть более техническая причина, которую я не вижу?