Это хорошая практика?
По моему опыту, нет.Любой вид дерьма с уникальным идентификатором - это еще одна вещь, которой нужно управлять, и которой нужно управлять правильно, иначе вы получите всякое странное хреновое распыление.Однажды я работал над продуктом, который использовал эту идею, и значительная часть наших ошибок, и даже больше проблем с обслуживанием, были вызваны необходимостью помнить о глупой переменной отслеживания ID.Конечно, реализация была довольно запутанной (на грани безумия), и ее очень легко сделать лучше, чем делали, но это еще одна вещь, с которой нужно иметь дело, когда у вас уже есть уникальный идентификатор, сгенерированный системой: адрес переменной.
Есть ли другие, лучшие способы сделать это?
Да, используйте указатели.
К сожалению, не существует такого понятия, как умный указатель (который я знаю в любом случае), который можно было бы использовать для простой ссылки на объекты, принадлежащие в другом месте, так что покаВы должны убедиться в том, что проблема будет решена с помощью политики и документации.Да, это слабость, но все же гораздо лучшая альтернатива отслеживанию и идентификатору, которая может легко вызывать те же проблемы и даже больше.
Если вам интересны умные указатели, которые можно использовать для таких целейВас может заинтересовать моя последняя запись в блоге.