"Embedded" is a catch all phrase. The original Android OS, before Google bought it, was for controlling a camera, and that's an embedded application.
Indeed, smart phone development is, technically, embedded development. Even if you intend to control a robot, that can be done using a phone or tablet as the "computer", using an interface like BlueTooth or WiFi to communicate to the device powering motors and reading sensors.
The smaller the device (RAM in particular), the more likely the language is restricted.
With the present cost of the various chips, and their power efficiency profiles, I can hardly see why one would need to squeeze software into a 16K machine, but it is still done. I suppose when mass fabricated a few K shaves a penny.
That said, there are some full C++ suites and libraries that are broadly applicable to robotics. I can't say I have tried these two, or endorse them, just that they are among the things I find when first attempting to locate something to work with:
https://pros.cs.purdue.edu/
https://www.roboticslibrary.org/
Arduino is popular. The development suite presents the "Arduino way" of doing things, where, in contrast to standard C++, you don't start with a "main" function - but there is a way of taking more control where you DO write your own "main", and thus have more features.
Arduino's popularity is support and packaging. From zero to functional result, it is well put together. It is also somewhat limited, but a good starting point.
"Embedded" could be a hard disk controller (SSD or HDD), a cash register, the computer controlling a car, a full and complex robot, a watch, a microwave oven.....
What embedded targets do you have in mind? Some use full C++ using any modern compiler and a library, some insist on their own language subset and their own IDE.