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