Minor C++ improvements

This is just some stuff found with clang-analyzer
These changes smell funny to me, but so do empty structs so...