允许在不修改底层容器的情况下排序和删除项目的类(可能是代理)的命名

Posted

技术标签:

【中文标题】允许在不修改底层容器的情况下排序和删除项目的类(可能是代理)的命名【英文标题】:Naming of a class (perhaps a proxy) that allows sorting and removing items without modifying the underlying container 【发布时间】:2020-05-13 10:13:51 【问题描述】:

我想知道我在c++ 中开发的将索引存储到容器的class 的合适naming 是什么。基本功能与view 相同。如果项目是非常量的,则可以在底层容器中修改项目。然而,由于类存储底层容器的索引,它可以生成一个独立于底层容器的视图,即无需修改它。这可以通过对索引进行排序或删除它们来完成。那么该类是代理还是此类的适当名称是什么?遵守流行的c++ 词汇是相关的。

【问题讨论】:

你的类实际上是一个范围。无论如何,您的问题与 SO 无关。 有没有更好的地方提问? 一个“视图”通常不允许修改实际的容器 你的班级似乎和QSortFilterProxyModel有相似之处。 我想这取决于上下文。模型/视图支持修改模型。 【参考方案1】:

在不修改底层容器的情况下排序和删除项目听起来像 filtersearch

过滤器标签通常用于变量名。例如向量、映射或其他保存索引或指向项目的指针。

搜索标签主要用于函数和类。可能是因为搜索算法很容易变得复杂。

【讨论】:

以上是关于允许在不修改底层容器的情况下排序和删除项目的类(可能是代理)的命名的主要内容,如果未能解决你的问题,请参考以下文章

如何在不复制的情况下从 N 维容器中获取可迭代范围?

Movilizer:在不更改数组键的情况下对数据容器进行排序

set容器

在不修改代码的情况下无限扩展应用项目

如何允许表单在不处理 Windows 消息的情况下接受文件删除?

如何在不允许表为空的情况下删除ng-repeat表行?