我希望计算指针正在使用的次数。我有一张地图:投射指向int的指针/存储指向T的指针
static std::map<unsigned int, unsigned int> counters;
当我要插入一个新值给它我使用这样的:
template<class T>
MyClass::addPointer(T * tPtr){
counters[((unsigned int) tPtr)]++;
}
是否OK和安全的做这样的投?这不是一个昂贵的操作等?
此外,这是一个合适的方式来确保每个指针只有一个计数?
感谢
你见过Boost的'shared_ptr'吗? (即将推出C++ 11) – Cameron
是的,我正在实现类似的学习目的 – Freddie
只要在64位系统上添加一个指针通常比'unsigned int'大。所以使用'void *'要好得多。 –