25. まとめ
● C++のライブラリを書いたら,ぜひ他の言語からも利
用できるようにC APIも用意しよう
● C APIではC++の機能が使えないのでうまく変換しよ
う(例外はエラーコードに,クラスは構造体に隠蔽,
データ構造は逐次作成できるようにするなど)
● C APIを使ったC++APIも用意しよう
● C++APIではstd::stringとstd::vectorとスマートポイン
タを駆使してC APIを隠蔽しよう.その際,実装は全
部ヘッダーに書いてABI互換の問題を回避しよう
26. 画像の出典
? C, C++, Ruby, C#, NodeJS, Java, Python logos are from icon8 (https://icons8.com/)
? “https://golang.org/doc/gopher/frontpage.png” by Renée French is licensed
under CC BY 3.0 (https://creativecommons.org/licenses/by/3.0/)
? “https://www.rust-lang.org/logos/rust-logo-128x128-blk.png” by Rust lang
organization is licensed under CC BY 4.0
(https://creativecommons.org/licenses/by/4.0/)
? Haskell, OCaml, Julia logos are public domain on Wikipedia.