双端队列不超过255个元素

时间:2018-12-29 19:15:21

标签: c++ xcode

考虑以下代码:

#include <deque>

int main() {
    std::deque<int> a;

    for (int i = 0; i < 300; i++) {
        a.push_back(i);
    }

    // Breakpoint in IDE
    // a contains only 255 elements ( [0] - [254] )

    return 0;
}

您希望a在断点处包含300个元素(数字0到299),但是不会。在第255个元素之后,不添加任何元素,将忽略它们。为什么会这样,我该如何解决。

我将XCode用作我的IDE,我不知道XCode使用哪个编译器,但我可能已将其设置为默认编译器。

我试图用Google搜索它,因为这似乎是一个相当简单的问题,但找不到任何东西。希望这里有人可以帮助我,我将非常感激。

编辑: 这是由于Xcode在GUI中未显示超过255个元素所致,尚未找到解决方案,但是您可以使用lldb来显示所有这些元素。参见this

1 个答案:

答案 0 :(得分:4)

双端队列包含所有300个元素。它不会忽略第255个 之后的元素。

调试器可能只显示最大限制,因为在那之后GUI会变得笨拙。

您可以重新配置调试器,或以其他方式调试代码(例如,通过打印容器的属性,例如a.size())。