I'd say use the one you like better. This seems more of a stylistic thing, and it doesn't really matter unless you're sharing your code with other people. In any case I think the "smart code" is just as readable as the first snippet you've provided.
Now that's ok for an introduction to C++, but the same function could be written more concisely as:
1 2 3 4
int addition (int a, int b)
{
return a+b;
}
The reduced verbosity makes the code easier to read and understand, I'd say.
The code in the OP uses a similar style. Instead of return a+b; it has return a==b;
If there's any difficulty in understanding the latter form, it is possibly because of unfamiliarity with the == operator, and boolean expressions in general. Though these things turn up all the time in programs, perhaps they are sometimes seen more as a magical formula, rather than an expression with two values and an operator, which gives a result of type bool.