我寻找一个提供不变性的STL容器类(一旦创建容器,就不允许在容器上进行CRUD.它都是只读的).
当然,我可以继承STL容器类并创建一个不可变版本然后将所有CRUD方法私有化,并且只保留将可变容器作为输入的构造函数.例如,
template<T>
public class ImmutableVector<T>(): public vecotr<T>()
{
private void clear();
...
}
Run Code Online (Sandbox Code Playgroud)
但这似乎很多工作.我的问题是:世界上有没有STL不可变库?
Bas*_*tch 12
你可以使用一个const容器,例如a const std::vector<int>.很可能你会在初始化和填充时使用一个可变容器,然后再使用const_cast- 它(或传输它)作为一个const容器,更可能是一个const容器引用(例如传递const std::vector<int> &vi给一些函数).
| 归档时间: |
|
| 查看次数: |
468 次 |
| 最近记录: |