2
|
PypeBros vinay hunachyal · 技术社区 · 14 年前 |
1
10
拥有一个带有非虚拟析构函数的公共基类是安全的
但是
如果有人用
为了处理这个问题,而不必对用户施加这样的奇怪条件,最好的建议是,对于C++中的公共基类,析构函数应该是公共的和虚拟的,或者是保护的和非虚拟的。
http://www.gotw.ca/publications/mill18.htm
,准则4)。自从
如果你想在向量上定义一些额外的操作,那就是C++中的自由函数。有什么了不起的
不过,你还是要小心。C++标准不能保证哪些功能
总之,
当然,如果使用私有继承,那么就不能通过
|
2
16
|
3
1
也许用合成代替继承?你没有说为什么你要扩展向量,所以我不知道这是不是一个选择。 |
4
1
可能吧。
这样做而不是从
2) 它更符合“STL方式”的做事方式。这使得了解STL但可能不了解您的特殊类(其行为与STL集合不同)的人更容易在将来进行维护。
3) 它更具可扩展性。一个正确编写的函子并不关心它作用于什么样的集合。如果有一天你因为某种原因想使用
4) 总体来说,它的设计比较简单,因此不易受到缺陷的影响,也更易于维护。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |