我有一个这样的模板类:
template<T>
class MyClass
{
T* data;
}
有时,我想使用具有常量类型 T 的类,如下所示:
MyClass<const MyObject> mci;
但我想修改数据使用const_cast<MyObject*>data
(这并不重要,但它MyClass
是一个引用计数智能指针类,它将引用计数保留在数据本身中。MyObject
派生自包含计数的某种类型。数据不应该被修改,但是count 必须由智能指针修改。)。
有没有办法从 const-ness 中删除T
?虚构代码:
const_cast<unconst T>(data)
?