Today I discovered that C++ standard defines support for using 'and' in place of '&&', 'or' instead of '||', 'bitand' for '&' and a few others. Who knew?

I must say that I'm not particularly sold on the idea - it makes code kinda unreadable. Consider the following code snippets which are equivalent:

if ((num_things and (num_other_things > 0)) or is_one_more_thing)
{
    DoBlah();
}
if ((num_things && (num_other_things > 0)) || is_one_more_thing)
{
    DoBlah();
}

Personally, I think the second is more readable as the logical operators break up the alphanumeric expressions - the problem could get really bad with complex expressions and highly readable variable names.

But maybe it's just me…