【发布时间】:2017-02-13 21:39:02
【问题描述】:
reinterpret_cast 会是这样的:
std::unique_ptr< const T , void (*) (const T *) >
to_const ( std::unique_ptr< T , void (*) (T *) > &ptr )
{
return { ptr.release() ,
reinterpret_cast< void (*) (const T *) >( ptr.get_deleter() ) } ;
}
这里的deleter函数会被object调用,实际上是non-const。
但是有没有更清洁的方法可以在避免 UB 的同时进行这种传输?
【问题讨论】:
-
您能否更清楚地格式化您的代码?
标签: c++ c++11 unique-ptr