No, not the language itself. C++ is designed around the zero-overhead principle: you don't pay for features you don't use, and the ones you do use compile as efficiently as equivalent hand-written C. A non-virtual class method is just a function with an implicit this pointer; led.toggle() generates the same instructions as led_toggle(&led). Bloat comes from specific features, exceptions add unwind tables and code size, RTTI adds type metadata, <iostream> pulls in an enormous amount, and dynamic containers bring in the allocator. The embedded discipline is to use the cheap abstractions (classes, RAII, templates, references, constexpr) and disable or avoid the costly ones (-fno-exceptions -fno-rtti, no heap). Done that way, C++ is the same size and speed as C with better structure.
C++ for Embedded · Interview question
Is C++ inherently slower or bigger than C on a microcontroller?
A strong answer
What a weak answer sounds like
You know the answer. Do you know what gets you dinged?
Pro breaks down the answer most candidates actually give to this question — and the specific reason an interviewer marks it down. It’s the difference between sounding correct and sounding senior, on all 472 questions.
From the lesson
C++ vs C for Embedded
What C++ adds over C on a microcontroller: classes, RAII, templates, references, and the zero-overhead principle that makes those abstractions free.