Don't let Perfect be the enemy of Good. The quality of encapsulation you can achieve in C++ is miles ahead of that of C, even if it isn't all that could ever be.
For example, user defined types that behave like built-ins, while preserving invariants.
Specially great in IoT instead of macros accessing directly IO ports.