gpt4 book ai didi

c++ - 类(C++)中通用查找函数的返回值冲突,返回什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:11:05 26 4
gpt4 key购买 nike

我的类中有一个名为“find()”的方法,它返回指向存储在类中的数据的指针(准确地说,该类是哈希表)。我发现返回指向我类(class)数据的指针是个坏主意,而且我还没有找到更好的方法。关于如何查找数据而不用担心用户可能会删除(修改)我的对象的任何建议?这是查找方法:(该类是哈希表,完全可以查找)

Data* find(const Key& key) {
if (isMember(key) == false) {
return NULL;
}
int hash_idx = hash_function(key, table_size);
return &(*((table[hash_idx])->find(key)));
}

最佳答案

然后你应该返回一个指向 const 的指针:

Data const* find(Key const& key);

关于c++ - 类(C++)中通用查找函数的返回值冲突,返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41488781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com