template <class T>
class wrapped_vector {
private:
std::vector<T> elements;
public:
wrapped_vector(size_t size = 20) {
elements.resize(size);
}
typename std::vector<T>::reference operator[](int i) {
return elements[i];
}
typename std::vector<T>::const_reference operator[](int i) const {
return elements[i];
}
void addValue(T* value) {
elements.push_back(*value);
}
void setValue(int i, T value) {
elements[i] = value;
}
size_t size() {
return elements.size();
}
};
参考链接: