У меня есть следующая строка кода:
contents[pos++] ^= key[shift++];
Что означает оператор ^=?
^=
Это оператор присваивания XOR . В основном:
x ^= y;
совпадает с:
x = x ^ y;
Это означает, что необходимо выполнить операцию XOR на contents[pos++], используя key[shift++] и установить contents[pos++] равным результату.
contents[pos++]
key[shift++]
Пример:
contents[pos++] 00010101 key[shift++] 10010001 -------- 10000100
Это побитовый оператор XOR.
x ^= y
в основном
x = x ^ y
Конечно, это побитовая операция
http://en.wikipedia.org/wiki/Bitwise_operation
Это побитовое исключающее ИЛИ для двух целых чисел. http://bytes.com/topic/c/answers/726626-what-caret-qualifier