C++ зачем двойной указатель для параметра функции out/return?

Я относительно новичок в C++ и работаю над довольно большим проектом C++ на работе. Я заметил несколько функций, которые принимают двойные указатели в качестве параметров для объектов, которые функция будет инстанцировать на куче. Пример:

int someFunc(MyClass** retObj) {
    *retObj = new MyClass();

    return 0;
}

Я просто не уверен, почему в этом проекте всегда используются двойные указатели, а не просто одинарный указатель? Это в основном семантическая подсказка, что это параметр выхода/возврата, или есть более техническая причина, которую я не вижу?

20
задан Bret Kuhns 13 December 2011 в 19:21
поделиться