回复测试:
class resource {
mutable int _reference;
resource& operator=(const resource &);
resource(const resource &);
protected:
resource();
virtual ~resource();
public:
static resource* load(const char *filename,const char *path,resource*(* load_func)(windsoul::file &));
bool is_sole() const { return _reference==1; }
const resource* clone() const;
void release() const;
// cache support
static resource* direct_load(const char *filename,const char *path,resource*(* load_func)(windsoul::file &));
virtual void clear() {}
virtual size_t memory_size() const { return 0; }
virtual bool is_empty() const { return false; }
};