Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange


Hello.....I am an embedded developer (by that I mean ~3k of RAM and ~200k of program memory), and I use a subset of c++ as my preferred language in that domain (If you are shocked by that and want to argue with me about that see rant bellow).

I love the low level programming, but I also love the ability to abstract the hardware away that c++ gives you.....


Please don't tell me that c is far superior to c++ in this domain because I can do everything that you can do in c in c++ (but better). And yes I am aware that the standard library uses heap allocation and whatnot (I never said I used the standard library).

Obviously, I cannot program c++ like I would for a desktop machine (you cannot program in c like your programming for a desktop machine either). I only use the feature of c++ that are useful to embedded.....the most notable exclusions are:

  • No dynamic memory
  • No virtual functions (or extremely rarely)
  • No exceptions

Also for every one that says volatile is not for multi threading.....yes this is true, but if I cannot use the standard library (because it doesn't exist for most of the platforms I work with), who do you think implements std::atomic and the like......for which some tools that we need are volatile (in addition to other tools)


people reached
  • Wisconsin, USA
  • Member for 2 years, 6 months
  • 0 profile views
  • Last seen Apr 2 '18 at 17:22

Top tags (2)

Score 0
Posts 1
Score 0
Posts 1

Top posts (1) All Questions Answers | Votes Newest

Badges (5)