Я хочу знать - есть ли какие-либо рекомендации по синтаксису (не) функций-членов C ++, которые позволяют мне понять (без комментариев , если возможно) политику владения его аргументами и возвращаемым значением. Под владением я подразумеваю, что владелец несет ответственность за уничтожение принадлежащего ему объекта.
Я различаю следующие правила относительно аргументов:
и о возвращаемом значении:
Например, передача объекта по ссылке не требует его владения:
void func(object & obj) { ... }
В таких рекомендациях могут использоваться стандартные конструкции, такие как unique_ptr, shared_ptr и т. Д. Если таких нет руководств, то также приветствуются примеры возможных недопониманий синтаксиса.