In C++ mode there is the following behavior of the indentation:
Why is this happening? How can I fix it?
It's not weird;
std: could be a label and until you type the second
: it doesn't know otherwise.
Edit: I forgot to mention, but you can customize
c-default-style to choose a different indentation style, and you can add your own entries to
c-style-alist to make one that's exactly to your liking.