首页 > 解决方案 > C ++ CLion为容器提供不同大小?

问题描述

我注意到在使用调试功能时,CLion 经常为容器提供不正确的大小。在这里,它表示reach_sats(an unordered_map<int, deque<int>>) 的大小为 255,而实际上它的大小为 1000(打印出来时确认)。有谁知道这是怎么回事?

在此处输入图像描述

标签: c++clion

解决方案


变量在初始化之前获得存储空间是正常且典型的。调试器通常会尽快列出变量,只要它们有存储空间。如果变量没有被初始化,那么它在调试器中可能看起来没有意义。启用优化后,如果永远不需要变量,它可能会保持完全未初始化。这个是正常的。


推荐阅读