For modest-sized RAM in embedded (say, <= 256KB), C++ is an unnecessary risk for most. You have to know what you are doing to stick with static class instances, avoid New/malloc()/Free(), and not use classes like String().
For many/most embedded applications that are controlling or interacting with real world things, not just a GUI.
Generally when you are programming embedded it is good to know what you are doing ;-)
C++ is no exception, but it is not an unnecessary risk; just avoid fancy library features and you are safe.
One of the demo projects blinks the LEDs on a STM32F0DISCOVERY board, which has a Cortex-M0 core, and the Release version of the scheduler requires about 15 KB of flash (including newlib printf) and some hundred bytes of RAM + the 3 stacks, so the µOS++ footprint is actually very small, comparable with most other RTOSes written in C.
There is a legend that a simple C++ application compiled with arm-none-eabi-g++ needs more than 150 KB of code, but this is true only if you use iostreams.
The µOS++ comes with a minimal run-time environment for C++, so there is practically no overhead compared to C.
Here is a picture and a link to an article I posted on ARM site:
https://community.arm.com/groups/tools/blog/2016/03/11/cmsis-a-proposal-for-a-future-cmsis-written-in-c
Any feedback will be highly appreciated.
Liviu