【问题标题】:std::deque memory-address as arraystd::deque 内存地址作为数组
【发布时间】:2015-08-27 00:33:40
【问题描述】:

我知道使用以下方法将向量“转换”为 c 样式的数组是合法的:

std:vector<char> v;
char *c = &v[0];

std::deque 也一样吗?

【问题讨论】:

  • 没有。与std::vector 不同,std::deque 可以使用多个连续内存段。您可以将其视为小数组的容器,而数组实际上包含元素。

标签: c++ arrays memory-address deque


【解决方案1】:

没有。一般来说,std::deque 的内容不会连续存储:

与 std::vector 不同,双端队列的元素不是连续存储的:典型实现使用一系列单独分配的固定大小数组

来自here

【讨论】:

    猜你喜欢
    • 2011-09-24
    • 2013-12-31
    • 2011-05-04
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    相关资源
    最近更新 更多