Нет, это вполне приемлемо (если вы правильно написали false
в bool b2
:]).
#include <iostream>
int main()
{
if (false ^ false)
{
std::cout << "false ^ false" << std::endl;
}
if (true ^ false)
{
std::cout << "true ^ false" << std::endl;
}
}
Выход: true ^ false
Конечно, в приведенном вами примере вы также можете сделать result = x1 ^ x2
в качестве сокращения.
Другой вопрос здесь заключается в том, было ли что-то, что мешало вам попробовать это самостоятельно.