![]() |
1
13
两者都不是。最好返回begin()和end()迭代器,或者更好地返回迭代器的boost::range。
优点是遍历逻辑隐藏在范围/迭代器中
否则
|
![]() |
2
2
也不将需要此类内部知识的函数转换为成员函数。 |
![]() |
3
2
|
![]() |
4
2
没有正确的答案。答案会随着环境的变化而变化,而目前我们所知甚少。
这取决于你们班的客户。在大多数情况下,您不希望临时检查器更改对象的状态,因此在一定程度上最好返回对对象的引用
这也是有效的,因为您没有将重对象作为返回值传递(这是一个不同的问题,现在大多数编译器都使用RVO)。
这将符合STL的设计方式。但是,在指定客户端可以期望的迭代器类型时要小心(例如:如果类规范说返回的迭代器是
|
![]() |
5
0
我更喜欢封装内部数据表示和使用forEachSomething模板公共功能。或者,如果您有boost,您可以避免模板化forEachSomething,并将实现放在.cpp文件中。
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |