Unfortunately, the design of the library’s API goes far beyond the language itself: all of a sudden you have to take care of implementation details such as ABI .
C, , ++ ABI (Microsoft ABI V++ Itanium ABI, gcc Clang), ++ , , libstd++ ( gcc), , libstd++ , lib++ ( Clang), std::.
, , , , , . ++, , C, ( ).
, ++ API:
1) , .
, ; , std::unique_ptr<Object>.
2) , , .
. , , - . , std::shared_ptr<Object>.
3) , , .
, , , .
4) , .
: std::unique_ptr<Object>.
5) , , , ( ).
: std::shared_ptr<Object>