我有一个充当缓存的类。它有以下私有成员:
std::map<std::string, Foo> _cache;
我需要为此缓存编写一个 getter,它返回一个引用、指针、迭代器或智能指针,指向存储在缓存中的 Foo 对象。如果需要,我希望客户端能够通过 getter 更新 Foo 对象。
但是,如果在缓存中找不到该项目,我不希望 getter 抛出。相反,客户端应该测试返回的值以确定是否找到了该项目。但是,如果您推荐这种方法,我可以说服我投掷。
你会为我的 getter 推荐什么返回类型?
我正在使用 boost 和 C++98。