對不起,如果標題有點混亂,但我有一個問題,關於我的實體屬性系統。你可以傳遞數據到一個空指針而不用指向變量的指針
當一個屬性被註冊,它的投入到這個unordered_map:
std::unordered_map<std::string, void*> m_attributes;
下面是註冊使用它的屬性
void registerAttribute(const std::string& id, void* data)
{
m_attributes[id] = data;
}
和示例實現:
std::shared_ptr<int> health(new int(20));
registerAttribute("health", health.get());
我想要做的是這樣的:
registerAttribute("health", 20);
我不想指向數據,因爲它很煩人,只是臃腫的代碼。有什麼方法可以實現我想要的嗎?
謝謝!
std :: shared_ptr的使用是毫無意義的,在這裏 –