我正在學習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