晚上好的编码员, 我是C ++的新手,在寻找答案后我没有找到有用的答案。我现在正在测试#pragma pack,并希望将访问速度与未对齐的内存进行比较,因此我有一些结构我想测试经过的时间。
struct ReallySlowStruct {
char c : 6;
__int64 d : 64;
int b : 32;
char a : 8;
};
并且
int main() {
struct ReallySlowStruct s;
std::chrono::steady_clock::time_point begin = std::chrono::high_resolution_clock::now();
s.a = 'c';
s.d = 100;
s.b = 50;
s.a = 'a';
std::chrono::steady_clock::time_point end = std::chrono::high_resolution_clock::now();
std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(end - begin).count() << std::endl;
system("pause");
return 0;
}
这就是我发现如何使用Chrono库测量经过的时间。但是,输出始终为0,我不知道为什么。我尝试过不同的时钟,以及不同的时间单位,但它总是为零。任何人都可以解释它有什么问题吗?我正在使用VS 2013.