我有点难过,我以为是一些简单的代码。它以前可以工作,所以我不确定它为什么停止工作。这是一个单线程程序。
Model *model;
ModelMap::iterator model_map_iterator;
cout << this->models.size() << endl;
for( model_map_iterator = this->models.begin(); model_map_iterator != this->models.end(); model_map_iterator++ ){
cout << "what" << endl;
//model = model_map_iterator->second;
//cout << *model;
}
cout << this->models.size() << endl;
这是分别有 1、2 和 4 个模型时的输出。
$ program
1
what
1
$ program
2
what
what
2
$ program
4
what
what
4
如您所见,对于任何数量大于 2 的模型,“what”输出的数量为 2。我已经尝试了 2-5 个模型。它们都产生两个“what”字符串,但输出 std::map 的正确大小。
谁能帮我找出我做错了什么?
提前致谢...
更新:
提交整个代码库进行调试:
https://github.com/homer6/modeler/tree/crudepythonmodeler
提交(00c01ad634df70cc7f67efba96b1503ffd63529c)
这是粗略的pythonmodeler 分支
README.md 包含 ubuntu 的安装步骤