Whether it is a definition or declaration, you are still not allowed to split it across multiple translation units. I've had classes that have more than several thousand code lines, and it may be convenient to split that accross multiple files. For a specific example, I wrote once a image format converter from any format, byte order and photometric interpretation to any other combination. There is no way to write this stuff under 2000 code lines however tight you keep it. This is hardly a critical rule.
Emacs indentation is usually good.
Stroustrup switch HAS braces the way. Note that I took the example from his book. The last version of CC gives error if no braces are along with the switch statement. Stroustroup just uses braces all over his examples. Well, that works only for one-case statement like, hence better to have the generale rule working.