|
|
1
5
我看不出解决方案4有什么问题。对于CGarage的用户来说,显而易见的是,它的汽车收藏与车库的使用寿命有关。如果他们需要收集的汽车比车库的寿命长,那么如果他们愿意的话,他们总是可以复印一份。
或者,让cGrage保持
对于拥有对象的集合(即引用类型),最好使用不同的容器。这个
取决于你的具体情况。集合的语义是否可能更改?如果没有,那么您可以安全地将其公开(例如。
|
|
2
1
这样申报还不够吗?
然后
应该有用但是
会产生错误。 |
|
|
3
1
我会和
解决方案4
. 关于指针容器的常量问题,可以使用
|
|
|
4
1
这要看情况。
尽管如此,你说C++迭代器的设计方式迫使你编写大量的样板代码是正确的。然后,在第一次编写类时,返回对向量的常量引用,然后重构。 |
|
|
5
0
选项4,但返回对抽象基类的引用,该基类包含到标准集合的显式转换运算符。这至少可以减少暴露的实现细节。 为了进一步减少对实现细节的依赖,请将包含集合的类转换为模板,并参数化集合类型。 |
|
|
6
0
我可以回答一个问题:
不一定。如果需要更改实现,或者在变量更改时需要运行一段代码,该怎么办。即使不这样做,将来也可能需要这样做,将公共var更改为set/get可能会破坏很多代码。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |