您好,我是从c到c ++的,我一直想知道为什么std :: vector可以按值传递。
我认为按值传递动态分配的数组是不可能的,因为那样只会复制指针。
如果向量类的内部是相同的指针,那么如何复制向量。它必须以某种方式知道如何将其重构为另一个对象。
std::vector
知道动态内存中存储了多少个元素。分配该大小的新缓冲区并将内容复制到该新内存是一件简单的事情。所有这些都在复制构造函数中发生。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句