我正在学习SFML,并发现奇怪的是,在类资源持有者中存在两个获取函数。但他们实际上完全相同。为什么在一个类中需要const函数和非const?
我的问题是:为什么有两个函数?
代码是followes:
template <typename Resource, typename Identifier>
class ResourceHolder
{
public:
void load(Identifier id, const std::string& filename);
template <typename Parameter>
void load(Identifier id, const std::string& filename, const Parameter& secondParam);
Resource& get(Identifier id);
const Resource& get(Identifier id) const;
private:
void insertResource(Identifier id, std::unique_ptr<Resource> resource);
private:
std::map<Identifier, std::unique_ptr<Resource>> mResourceMap;
};
它类似于'std :: vector :: operator []'顺便说一句。 – Hiura 2014-09-13 13:31:23