Most C-inspired languages (most popular programming languages) allow this. The only ones I've used that don't are Go and Swift. And I find it a little annoying.
If you're worried about bugs, there are other things in C/C++ to criticize first ;)
If you're worried about bugs, there are other things in C/C++ to criticize first ;)
if expression1 expression2
it can be fiendishly hard to determine the boundary between expression1 and expression2.