Probably a pretty vague and broad question, but do all C++ compilers compile code into C first before compiling them into machine code?
No. C++ -> C was used only in the earliest phases of C++'s development and evolution. Most C++ compilers today compile directly to assembler or machine code. Borland C++ compiles directly to machine code, for example.