C++ 自定义模板memcmp与C memcmp 模板 int custom_memcmp(常数T*a、常数T*b、标准::大小n);

C++ 自定义模板memcmp与C memcmp 模板 int custom_memcmp(常数T*a、常数T*b、标准::大小n);,c++,C++,这会比C的memcmp更快吗 如果sizeof(T)!=1:它将执行较少的迭代,并且可以将值作为其实际类型进行比较。例如,我希望直接比较两个'long-long'比比较两个8字节缓冲区快。memcmp通常是编译器的固有特性,因此将进行优化,以尽可能提高效率(将矢量化、内联等) 所以你几乎肯定不会打败它。但是当然,如果你想确定的话,那就简单介绍一下吧 memcmp通常是编译器的固有特性,因此将进行优化,以尽可能提高效率(将进行矢量化、内联等) 所以你几乎肯定不会打败它。但是当然,如果你想确定的话,

这会比C的memcmp更快吗


如果sizeof(T)!=1:它将执行较少的迭代,并且可以将值作为其实际类型进行比较。例如,我希望直接比较两个'long-long'比比较两个8字节缓冲区快。

memcmp
通常是编译器的固有特性,因此将进行优化,以尽可能提高效率(将矢量化、内联等)


所以你几乎肯定不会打败它。但是当然,如果你想确定的话,那就简单介绍一下吧

memcmp
通常是编译器的固有特性,因此将进行优化,以尽可能提高效率(将进行矢量化、内联等)


所以你几乎肯定不会打败它。但是当然,如果你想确定的话,那就简单介绍一下吧

不,不会更快。memcmp将尽可能有效地比较适当大小的原始内存。只有一个简单的memcmp实现才能逐字节完成。

不,它不会更快。memcmp将尽可能有效地比较适当大小的原始内存。只有一个简单的memcmp实现才能一个字节一个字节地实现它。

为什么不分析一下并找出答案?
memcmp
可以作为一个内在的实现,你可能无法超越它。如果没有看到定义,我们怎么知道呢?签名没有太大的意义,为什么不分析一下并找出答案?
memcmp
可以作为一个内在的实现,你可能无法超越它。如果没有看到定义,我们怎么知道呢?这个签名意义不大
template <typename T>
int custom_memcmp(const T* a, const T* b, std::size_t n);