Я реализую базовый класс для подсчета ссылок и хотел бы установить уникальный номер для каждого создаваемого объекта, который наследует этот интерфейс.
Вот фрагмент кода из этого класса:
HEADER:
class Object
{
const long long int object_id;
public:
Object();
virtual ~Object();
};
CPP:
Object::Object() : object_id(reinterpret_cast<long long int>(&object_id))
{
}
Я в восторге, если это безопасный подход или нет, если нет, то почему?Я не использовал функции rand и srand по двум причинам:
- srand AFAIK лучше всего использовать только один раз в проекте, чтобы сделать случайные числа максимально случайными.
- этот подход более точен, поскольку два объекта не могут совместно использовать одну и ту же область памяти.
, пожалуйста, посоветуйте мне.
РЕДАКТИРОВАТЬ: В какой момент создается элемент object_id?внутри конструктора или снаружи (до списка инициализации или после) хм хм?Большое спасибо!