vector扩容为什么不使用realloc

realloc的过程是先尝试能否原地扩容,能就扩容,不能就找一块更大的内存,然后把原来的内容拷贝过去。注意这里使用了memcpy。问题就出现在这里,memcpy只适用于POD数据类型,即bitwise型的拷贝。对于一般类型的类,需要为每个元素都调用构造函数,而memcpy并没有调用构造函数,从而导致一些问题的出现。

发布了154 篇原创文章 · 获赞 27 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/a13602955218/article/details/105342541