分配向量时,分配的内存位置取决于以下三种情况:
在这种情况下,向量的标头信息(包括其容量和大小)在堆栈上分配。但是,向量的实际元素(类型值)分配在空闲存储(也称为堆)上。这是因为向量旨在管理大量数据,这可能需要在堆上进行动态分配以适应大小的变化。
与前面的情况不同,当使用 new 关键字分配向量时,向量本身及其元素都会在堆上分配。例外是向量指针 vect,它仍然驻留在堆栈上。
在这种情况下,向量分配在堆栈上,但元素(指向 Type 值的指针)分配在堆上。这些指针指向的数据的位置由用户操作确定。
以上是向量的内存驻留在哪里:堆栈还是堆?的详细内容。更多信息请关注PHP中文网其他相关文章!