单词大小结构的memcmp与直接比较

memcmp vs direct comparing for word sized struct

本文关键字:比较 memcmp 结构 单词大      更新时间:2023-10-16

在C++中,比较两个字大小结构(例如32位架构中的4字节大小)的最有效方法(内存和定时)是什么。假设没有垃圾填充位并且:

struct A, B;

一方面,我可以使用

memcmp(&A, &B, 4)

另一方面,我可以写

struct *pA = &A; struct *pB = &B;
if (*pA == *pB)

感谢

这取决于情况。

这取决于库和编译器。。。也许还有目标平台。如果这是一个性能瓶颈,那么找到最高效的方法就是同时写入并比较它们的效率。

如果不是性能瓶颈(也不会是),只需编写最简单、最清晰、最容易理解的代码。即:

    if (A == B)

(更不用说上面的代码不必对填充位做出任何假设)。