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