我正在为了娱乐和学习编写一个容器类。以前在编写容器类时,我会限制自己只使用一些非常基本的方法:GetValue
,SetValue
,GetSize
和 Resize
。这样做是为了避免代码混乱,使我的类更易于调试。
然而,我意识到类的用户可能希望做更多的事情,而不仅仅是简单的替换操作。因此,我又添加了一些方法:
void Replace(const std::size_t Start, const std::size_t End, const T Value);
void Replace(const std::size_t Start, const std::size_t End, const MyClass Other);
void Insert(const std::size_t Index, const T Value);
void Insert(const std::size_t Index, const MyClass Other);
void Delete(const std::size_t Index);
void Delete(const std::size_t Start, const std::size_t End);
一般来说,类应该只提供最基本的接口,让类的用户自己编写函数来完成复杂的任务吗?还是应该内置复杂的功能,但这样会牺牲可维护性?
插入(Insert)
会腾出空间给新元素,使其他元素腾挪位置。而替换(Replace)
则仅覆盖现有元素。容器类是模板化的,因此T
代表类所存储的内容,而MyClass
则代表类本身。 - Maxpm