The idea (and one that worked well in several projects I've worked on) is that you use C++ as main language of the library and make outside bindings C.
It does require some discipline, but C++ has many portable constructs that make life significantly easier when writing business logic.
It does require some discipline, but C++ has many portable constructs that make life significantly easier when writing business logic.