有没有人想到一个简单std::cout
的值可能会以十六进制格式打印一个值,而它应该只格式化一个小数(如整数)?
例如,我有一行:
std::cout << "_Agent [" << target << "] 仍然在 " << ((target->currWorker)->getEntities().size()) << " 实体的 worker[" <<目标->currWorker << "]" << std::endl;
这将打印:
_Agent [0x2c6d530] 仍然在worker[0x2c520f0] 的0x1个实体中
笔记:
1-所说的输出有时是十进制的,有时是十六进制的
2-即使我((target->currWorker)->getEntities().size())
改为(int)((target->currWorker)->getEntities().size())
任何提示?
谢谢