小编Dav*_*var的帖子

使用 const_cast 创建方法的非常量变体

const_cast 可以用于创建已实现方法的非常量版本吗?我想我看到了一些类似的内容(建议使用 const 方法来完成实际工作),但我不太确定它应该如何工作。

Value& const search(key) const {
    // find value with key
    return value;
}

Value& search(key) {
    return const_cast<Value&>(search(key));
}
Run Code Online (Sandbox Code Playgroud)

如果不是这样,那么在没有代码重复的情况下创建非常量函数的推荐方法是什么?

c++ methods return constants const-cast

4
推荐指数
1
解决办法
358
查看次数

我可以获得指针所属的unique_ptr(如果有)吗?

我正在构建一个Node类,其中左侧和右侧子节点具有unique_ptr,父节点具有Node*指针.当我删除节点时,我接受节点,我必须检查我正在删除的节点是否是左子节点,然后重置父节点中的unique_ptr.有没有办法获取指针,并询问是否有任何unique_ptr包装,并可能返回它?

c++ pointers this unique-ptr

0
推荐指数
1
解决办法
149
查看次数

标签 统计

c++ ×2

const-cast ×1

constants ×1

methods ×1

pointers ×1

return ×1

this ×1

unique-ptr ×1