我正在實現一個引用計數基類,並希望爲正在創建的每個繼承該接口的對象設置唯一編號。選擇對象ID的隨機數?
這裏是從該類的代碼片段:
部首:
class Object
{
const long long int object_id;
public:
Object();
virtual ~Object();
};
CPP:
Object::Object() : object_id(reinterpret_cast<long long int>(&object_id))
{
}
我corious如果這是安全的方法還是不行,如果不是,爲什麼不? 我沒有使用RAND和srand函數,因爲2個原因:
- 函數srand據我所知,最好只使用一次的項目,使隨機數儘可能隨機的。
- 這種方法更精確,因爲兩個對象不能共享相同的內存位置。
請指教我。
編輯: 在什麼時候創建成員object_id?在構造函數內部或外部(在初始化列表之前或之後)hm hm? 非常感謝!
如何使用良好的舊GUID? – 2012-01-01 17:47:23
你可以使用對象實例指針作爲ID嗎?這個問題很難回答,因爲它取決於你需要的ID,在複製,序列化,生存期等方面必須遵循什麼樣的行爲 – tenfour 2012-01-01 17:48:36
謝謝,如何在C++中使用GUID? – codekiddy 2012-01-01 17:49:11