cpp is weird