...
The stack memory can be an issue since it is possible that too much of it is used. An existing solution is to avoid recursive functions and stick to iterative implementations. Dynamic allocation is also rarely used due to real-time allocation delays. Not only that, after several memory deallocations, fragments may take up much of the memory. C++ is not as widely used as C when it comes to embedded systems, and C++'s exception and Run Time Type Information would need to be explicitly disabled at compile time to reduce the execution time and memory usage. However, C++ can not be coded in a C compiler, but C can be coded in a C++ compiler.
C++ Benefits
For large projects, C++'s ability to create custom namespaces and templates are excellent features to organize such large projects. Similarly, the benefit of having a lot of freedom to control the hardware directly without sacrificing too many resources is one of the key features of C++. This is under the condition that the code is optimized which it should always strive to be. The data structure offered in C++ allows the user to write organized and clean code. Furthermore, one of the main benefits of C++ is that it is efficient, the fact that the code is compiled with GCC allows it to be executed and run at a relatively fast speed. Another benefit is that C++ is more widely used and known, so most people already have a base understanding of this language, making it easier for people to transition into this language.
Conclusion
In the end, it is clear that Rust offers some unique benefits over C/C++ when it comes to embedded systems. But the investment into learning a new language and becoming proficient in it needs to be thoroughly considered before shifting fully to Rust from C. On the other hand, C++ is a lot easier to transition into and not only does it offer what C grants, but it also allows better organization of the code. The more extended data types, object-oriented programming, bottom up and the high level features makes C++ a better option over Rust and surely can be used along side C in an embedded system.