As someone who programs in both C and C++, unless there's a good reason to use different alternatives in each language, I prefer to keep it consistent. Although and
has been a part of the C standard for close to two decades, it requires a header file instead of being built into the language. Especially when a piece of code may be used in multiple projects, the hassle is just not worth it.
I've never seen a situation where using and
over &&
would be advantageous. I can't imagine a modern development system without a & key, though maybe if you're trying to do something on an unusual platform (like directly programming on a severely limited mobile/embedded system) it would be useful. I also think it reduces the readability of my code for people who are very used to seeing &&
as the logical and operator.