当我不使用调试器时,C++似乎会忽略代码行
C++ seems to ignore lines of code when i dont use the debugger
你好,我只想提一下,我试着搜索这个主题,但没有找到任何东西,所以我的问题是:
我写了一个小程序,我想列出一个更新的时间戳列表。所以我写了一个小类来处理这方面的一切。(我遗漏了不必要的东西)
Edit:另外,实际的函数在.cpp文件中,这是添加了函数的头,只是为了参考我实际写的内容。
#pragma once
#include <chrono>
#include <map>
class TimeHandler
{
public:
TimeHandler();
~TimeHandler();
std::map<std::chrono::milliseconds, std::string> getTimeList();
/*add a timepoint for the current time to the timelist*/
void addTimePoint(std::string name);
/*print the timelist*/
void print();
private:
std::map<std::chrono::milliseconds,std::string> timeList;
};
void TimeHandler::addTimePoint(std::string name)
{
std::chrono::milliseconds ms = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch());
timeList.insert( std::make_pair(ms, name) );
//std::cout << "n adding";
}
该类只处理时间事件,我可以在其中添加描述。
现在来谈谈我的问题。我将对象的指针提供给其他函数,以便在它们的开头和结尾调用addTimePoint函数。但并不是所有的时间事件都存在。如果我在addTimePoint中放置一个断点并进行调试,那么一切都会很好,如果我在插入后添加一个std::cout)。但是,如果我没有std::cout或使用调试器,它就不会把所有东西都放在映射中。
如果有人能帮我的话,我已经想不出问题出在哪里了。
请不要因为我的英语不好而评判我,我还在学习。
感谢大家的帮助,答案确实是时间太短,因此无法添加第二次,因为时间戳相同。(地图只能存储每一个密钥1次)
我现在使用的是一个矢量:)
相关文章:
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 代码在main()中运行,但在函数中出现错误
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 编译包含字符串的代码时遇到问题
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 在Linux for Windows上编译C++代码时出错
- 我的字符计数代码计算错误.为什么
- 孤立代码块在结构中引发异常
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 此代码是否违反一个定义规则
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 为什么在这个代码结束循环中没有得到结束
- 在c代码之间共享数据的最佳方式
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值