может кто-нибудь объяснить мне, что XOR
, (^)
делает в сводном коде exaclly и как получилась функция указатель?Xor c code - требуется объяснение
char *strReverse(char *str)
{
char *pb, *pe;
for (pb = str, pe = str + strlen(str) - 1; pe > pb; ++pb, --pe)
{
*pb ^= *pe;
*pe ^= *pb;
*pb ^= *pe;
}
return str;
}
http://betterexplained.com/articles/swap-two-variables-using-xor/. Обратите внимание, что использование 'std :: swap' будет работать лучше. – chris
xor trick - это глупый трюк (который не дает вам ничего, кроме нечитаемого кода) для замены двух значений без использования дополнительной переменной. –
ну, я видел, что трюк и я были любопытными, но танк вас за то, что вы сказали мне, что вы думаете, что это хороший трюк ... но он работает только для + ints –