Когда вы говорите «одновременно», вы имеете в виду, что одна операция XOR не должна использовать промежуточные данные из предыдущей операции XOR, а данные из исходного вектора, верно?В этом случае, поскольку каждый шаг стирает информацию (предыдущее состояние элемента i
перезаписывается с результатом), вы не можете сделать это без хотя бы некоторого промежуточного хранилища.Однако вы стираете только один бит информации, и эта информация требуется только на следующем шаге, поэтому вам не нужен полный дополнительный вектор.