Я смотрел на C ++ API библиотеки Apache Arrow и заметил, что он полон функций-членов, которые принимают аргументы типа std::shared_ptr<T>*
. Для меня это выглядит излишне надуманным и, возможно, хрупким, и мне откровенно странно, что библиотека будет предписывать, как я решу решение вопроса о владении экземплярами своих классов. Таким образом, я пришел к выводу, что у этого подхода должны быть некоторые преимущества, которых я не знаю, что вызвало мое любопытство.
Каковы преимущества функций, которые принимают указатели на интеллектуальные указатели в качестве аргументов?
Херб Саттер не упоминает эту опцию в своей статье Параметры интеллектуального указателя .