C++ is not inherently less efficient than C. With equivalent quality compilers you should be able to produce the same quality of executable. Of course if you use some C++ specific features (e.g. exceptions (usually on by default) + STL library, etc.), you can find your EXEs to be larger due to all the embedded error handling, etc. But you can avoid or disable that kind of stuff. Yes there are some C++ features that come with a bit of overhead (virtuals, etc.), but nobody is forcing you to use that stuff - but when you do, it's usually for a good reason, and you would have to introduce the same indirections in non-standard ways in C code to achieve the same thing. On the other hand C++ provides additional features that can help you code things more quickly and safely (e.g. templates, etc., when used intelligently).
I imagine some of the C++ inefficiencies can be avoided if a programmer knows what they are doing but that is even more to learn. Compilers have improved for C++ as have some high end processors which now have indirect branch prediction. Processors are now enough faster that a few percent slower code usually means waiting for the next processor to provide a speedup. I'm surprised the game industry doesn't use regular C with a library of functions, macros and assembler optimizations, at least for non-x86_64 games.
I point that out because at some point I want to start some projects that will run on many platforms, including the Amiga. I don't really want to go back to coding the straight C I used for the first 10 years of my life as I've spent the last 15+ years doing C++ in the game industry (where everyone else freaked out about C++ "inefficiency" when we first started using it, now everyone knows better). It does sound like the Amiga is left out in the cold in regards to modern C++ compilers, which is a bummer. GCC 2.95 was somewhat decent at handling C++ syntax but I do recall there were complaints about code quality for the platforms we used it for, and I would imagine things are similar in Amiga-land, the C++ capable compilers available probably don't generate as efficient code as some of the old well optimized C variants.
GCC 2.95.3 generates the most optimized integer C code of any Amiga compiler. I expect some of that would translate to C++. However, the C++ support in GCC was not very mature at that point which probably means lack of support and bugs in certain areas. The 68k code generation quality in GCC 3 deteriorated but it is more modern. C++ is quite usable. I am able to compile DOSBox with whatever changes NovaCoder made. I didn't spot any heavy C++ specific code but this program is huge and it works. The speed is lacking on even a 68060 (without 68k dynrec which is almost working) but it's slow on slower x86 hardware too. It runs fine on UAE. It was compiled using AmiDevCpp which is probably the only sane way of compiling it until we get faster 68k processors (faster 68k fpga processors than the 68060 are being developed):
http://amidevcpp.amiga-world.de/index.php?HR_LANG=english
Anyway, I'm also curious to see if a more modern GCC or Clang gets supported at some point (for cross compiling, I can't imagine compiling on a 68k Amiga nor do I really want to). If not I'd probably take a quick look at it myself to see what kind of job it is, though I suspect it is a pretty big headache or somebody would have done it by now.
GCC would probably be less work (it has better 68k support already) but a group including SamuraiCrow have done some of the work of porting Clang/LLVM to AROS. Maybe you could help them. I can help some with 68k backend stuff but I don't know C++ (even my C knowledge is limited). I have and am working on the vbcc 68k vclib and have submitted bug fixed and optimized code for vbcc including the backend. My time is rather limited right now though. Give AmiDevCpp a try until there is a better option.