自定义模板memcmp与C memcmp

NFR*_*RCR 1 c++

template <typename T>
int custom_memcmp(const T* a, const T* b, std::size_t n);
Run Code Online (Sandbox Code Playgroud)

这会比C的memcmp快吗?

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

Oli*_*rth 6

memcmp 通常是编译器内在的,因此将被优化为尽可能高效(将被矢量化,内联等).

所以你几乎肯定不会打败它.但是,当然,如果你想确切知道,那么只需简介!