J'ai plusieurs tableaux de longueur fixe et je veux les comparer.Est-il possible de comparer la mémoire brute en C++?
struct Foo
{
/// the data, not necessarily int and not necessarily length 32
int val[32];
/// simple way
inline bool compare1(const NAME_CELL & rhs) const
{
for (unsigned int ui = 0; ui < 32; ++ui)
{
if (val[ui] != rhs.val[ui])
{
return false;
}
}
return true;
}
/// compare memory directly instead of using a loop. Is this faster?
inline bool compare2(const NAME_CELL & rhs) const
{
return memcmp(val, rhs.val, 32 * sizeof(int)) == 0;
}
};
Est-ce que compare1 est plus lent, plus rapide ou égal à compare2? Y a-t-il un moyen encore plus rapide?
Je suppose que vous voulez dire 'memcmp'? –
En outre, votre titre dit "C" mais vous avez marqué ce "C++" - de quoi parlez-vous? –
Merci, corrigé le titre. J'utilise C++ bien que ma question puisse être tout aussi pertinente pour les développeurs C. – Fabian