![](/img/trans.png)
[英]“~__vector_base() ” having an excess run time in Wasm as well as an abort error. Cannot find the error
[英]vector_base inheritance vs composition
简短问题:
有没有理由为什么C ++ STL实现使用vector_base
结构/类(处理资源和分配器)作为std::vector
的基类而不是使用组合 ?
更长版本:
在我的“追求”中,为了提高我对C ++的了解,我一直在尝试重新实现一个Vector
类,主要是std::
compliant。 我想我已经理解为什么使用分配器是明智的,为什么你真的想要在一个单独的类/结构(RAII和所有那些)中的所有内存处理但是我不明白为什么我们想要std::vector
从该类继承而不是将其作为私有成员。 例如,LLVM和gcc都使用继承。 另一方面,我发现构造函数和赋值运算符(尤其是move
-types)使用组合更容易处理。
我只是暴露了我对语言的肤浅知识吗?
作为一个例子,我搜索了一些教科书,我发现Stroustroup的书有他的“模拟重新实现”标准的不同版本(只是为了让我更加困惑!)与他2013年的书“The C ++ Programming language,4th ed。”。 使用作文和他的2014年“编程:原则与实践,第2版”。 使用继承!
任何人都可以帮助我解决一些问题?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.