1
18
您可能会发现以下文章很有趣,因为它正好解决了您发布的问题: On the Tension Between Object-Oriented and Generic Programming in C++ and What Type Erasure Can Do About It |
2
2
我以前做过以下工作,所以得到了一个独立于容器的迭代器。这可能是杀伤力过大,因为我还可以使用调用方传入的API
|
3
1
这应该是您想要的:
从 Accelerated C++ :
|
4
1
我不确定您所说的“不公开std::vector”是什么意思,但实际上,您可以这样定义typedef:
稍后您将能够更改这些typedef,而不会让用户注意到任何内容… 顺便说一句,如果您希望类表现为容器,还公开一些其他类型被认为是一种良好的实践:
如果你的班级需要:
您将在这里找到所有这些typedef的含义: STL documentation on vectors
编辑:添加
|
Julia · 矢量中相加为总和S的值的数量 1 年前 |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 2 年前 |
quantumwell · 将空向量放入std::map() 6 年前 |
OutOfBound · 对未初始化内存使用算法的优点 6 年前 |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 6 年前 |