При работе с указателями и ссылками на С++ иногда бывает трудно увидеть, имеет ли указатель право собственности на данные, на которые ссылаются, или если это просто временная ссылка. Например:
Instance* i = new Instance();
Instance* j = i;
Как можно понять, какой из двух указателей имеет право собственности на экземпляр? Другими словами, как четко указывать, на каком вызове будет вызываться указатель?
Примечание. В приведенном выше примере это не сложно понять, так как это очень короткий фрагмент кода. Однако, когда указатель дублируется и проходит много, это может стать неясным.