У меня есть шаблон класса, подобный этому:
template<T>
class MyClass
{
T* data;
}
Иногда я хочу использовать класс с константным типом T следующим образом:
MyClass<const MyObject> mci;
но я хочу изменить данные, используя const_cast<MyObject*>data
(не важно, почему, но MyClass
- это класс интеллектуальных указателей подсчета ссылок, который хранит счетчик ссылок в самих данных. MyObject
происходит от некоторого типа содержит количество
Данные не должны быть изменены, но счет должен быть изменен умным указателем.).
Есть ли способ удалить константу из T
? Вымышленный код:
const_cast<unconst T>(data)