为什么它从地图中给出了随机值
why it gave random value from map
我有一个x=5的字符串,我将它拼接到x5,然后声明一个映射
map<string, double> variableMap;
我用把它们放在地图上
variableMap.insert(make_pair(splitString.at(0), stod(splitString.at(1))));
splitString.at(0)
将是x,stod(splitString.at(1))
将是5
但当我试图通过使用从find密钥中获取值时
map<string, double>::iterator iter;
iter = variableMap.find("x");
cout << iter->second<<endl;
它打印6.95321e-310
这真的很奇怪
您可能弄错了splitString,因此映射中并没有真正包含键"x"。在使用之前,您应该使用variableMap.end()检查find的结果是否相等。
iter = variableMap.find("x");
if(iter == variableMap.end()) {
// not found ...
}
使用调试器,并验证该对是否具有正确的内容,包括字符串的空白。
你也可以打印它来检查它包含的内容:
for(auto elem : variableMap) {
std::cout << ">"<<elem.first << "< " << elem.second << std::endl;
}
编辑:由于您的问题确实是空白,请考虑不要自己编写字符串操作,而是在C++中查看最重要的答案-通过regex 拆分字符串
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 为什么 Serial.println(<char[]>);返回随机字符?
- 为什么不;名字在地图上是按顺序排列的吗
- 字符串-C++后显示的随机字符
- 基于多个条件处理地图中的所有元素
- 循环中的随机函数
- 在c++构造函数中使用随机字符串生成器
- 在C++中将矢量转换为嵌套地图
- 使用std::mt19937从字符串中返回一个随机单词
- 为什么std::condition_variable notify_all的工作速度比notify_one快(对于随机请
- 如何在C++中高效地构造随机骰子
- 在类中使用随机生成器时出现性能问题
- 选择C++地图中随机元素的百分比
- 在C++中随机化地图
- 从C 中的MAP的随机子集创建新地图
- 如何存储允许O(1)随机访问的三维地图?(C++)
- 为什么它从地图中给出了随机值
- 多重地图值中的随机访问,或者我应该只使用矢量地图
- 我如何随机生成网格风格的岛屿地图,给定两种贴图类型
- 地图中的随机元素