Comment
Comment by saagarjha
Short circuiting boolean operators are very useful, and not something I would consider a code smell. They let constructs like this work, which are very common in most codebases:
An operator that did not short circuit would have undefined behavior because it might dereference a NULL pointer.