动态数组和向量之间的确切区别是什么?这是我在面试中遇到的问题。
我说两者都有顺序内存。
向量可以在代码任何时候增长大小。然后他说,即使在创建后,动态数组也可以增长大小。
我说向量没有错误,因为它在标准库中。他说他会提供一个动态数组的 .so 文件,该文件无误并且具有与 STL 相当的所有特性。
我很困惑,没有回答出确切的区别。当我在互联网上搜索时,我只看到了以上的陈述。
请有人给我解释一下确切的区别吗?面试官对我的期望是什么?
回答: 动态数组和向量都可以在运行时调整大小,但它们的实现方式不同。动态数组是通过手动分配和重新分配内存来实现大小调整的,而向量实际上是基于动态数组的封装和扩展。此外,向量还提供了许多方便的方法和操作符以简化内存管理和访问元素。在 C++ 中,向量是由标准模板库 (STL) 提供的容器类型,已经经过广泛测试和优化,因此通常更安全、可靠且易于使用。因此,如果要选择使用动态数组还是向量,应该优先考虑使用向量。面试官可能希望你能够区分这些概念并解释它们的实现方式和优缺点。