假设我有两个元素容器:
std::vector<std::string> foo = { "aa", "bb", "cc" };
std::vector<std::string> bar = { "dd", "ee" };
foo
我在这两个容器上运行的许多类bar
之间传递了不合理的信息。但是,我发现我必须非常小心,不要混淆哪些缺陷与哪个容器相关联,有时会在此失败,然后很难找到导致的逻辑错误。
所以,假设我有两个不雅点:
int id_foo = 1;
int id_bar = 0;
是否有一种简单的设计模式可以帮助防止我尝试bar[id_foo]
通过“绑定”id_foo
到foo
.
基本上,我试图找出消除foo
和之间歧义的最简单方法bar
。我可以为每个类创建单独的类,然后将迭代器定义到这些类中。但是我想避免为每个我想要这种“安全性”foo
的容器创建一个单独的类。bar
问题是要求诸如“索引安全”之类的东西(类似于类型安全)。我目前实现这一点的方式是通过命名我的不雅点来指示它们与哪个容器相关联。