c++ - C ++ CLion为容器提供不同大小?
问题描述
我注意到在使用调试功能时,CLion 经常为容器提供不正确的大小。在这里,它表示reach_sats
(an unordered_map<int, deque<int>>
) 的大小为 255,而实际上它的大小为 1000(打印出来时确认)。有谁知道这是怎么回事?
解决方案
变量在初始化之前获得存储空间是正常且典型的。调试器通常会尽快列出变量,只要它们有存储空间。如果变量没有被初始化,那么它在调试器中可能看起来没有意义。启用优化后,如果永远不需要变量,它可能会保持完全未初始化。这个是正常的。
推荐阅读
- sql-server - 在 SQL Server syspolicy_purge_history 作业中,第 3 步失败
- pandas - 在分组数据帧上计算分位数的最快方法是什么?
- node.js - 如何检查文件是否正在使用 multer 上传
- node.js - 如果使用猫鼬在node.js中mongo连接失败,如何自动重新连接?
- sed - 查找并替换为相同的通配符
- c# - 如何从 .json 文件中获取特定值
- node.js - 如何使用 TypeScript 在 express 中键入 app.get('/events', (req, res)
- java - 从 Micronaut 中的 k8s 机密读取 JWT 签名的机密
- javascript - 在丰富的内部设置值:使用 javascript 的编辑器
- hibernate - Spring休眠@manyToMany与@jsonView无限递归的关系