晚上好的编码员,我是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 .