哪种实施更好,为什么?
使用for循环或memcmp()实现的Element by Element比较
int a[] = {1,2,3};
int b[] = {1,3,5};
memcmp(a, b, sizeof(int)*n)
OR
for (i = 0; i < n ; i++)
{
if (a[i] == b[i])
{
/* some Code */
}
}
答案 0 :(得分:0)
memcmp
更快:编译器通常对cpu使用特殊指令进行大量优化,循环展开,以及其他“高级”技术,简单循环生成的代码(通常)不会使用。但是,memcmp
只能比较字节值;在整数数组的情况下它很好,但它(可能)对于一个对象数组不起作用。