読者です 読者をやめる 読者になる 読者になる

ゆとりーなの日記

日記的な事を書いて行くと思はれる

Win32APIとBoostだったらBoostの方が好き...だけど

個人的にはthreadやらfilesystemやらはWin32APIを直接叩くよりは遥に使いやすい様な気がします。C++のライブラリなのでRAIIとかで管理されていたり函数オブジェクトが渡せたりとC++との親和性も高いです。ついでに標準ライブラリに近い名前付けで目にやさしい統一感も得られます。
如何せんWin32APIはCAPIなんです。文字列扱うのにもメモリ確保とか考えないといけないんで面倒なんです。というか面倒くさい殆どの要因はこれです。それはもちろんboostは何だかんだでPosixの方を贔屓にしているんでWin32環境ではエミュレートになって性能が残当しているかもしれません。そしてどうしてもWin32APIを使わないと得られない機能もあったりします。
それでもやっぱりWin32APIよりはboostの方がインターフェイスが扱い易いんで同等の機能なのであればboostの方を選んでしまう自分がいるわけです。ついでに移植性まで得られてしまうおまけまで付いていますしね。
というわけで基本的にはboostを選んでしまうのですがboostでは実現出来ずにどうしてもWin32APIを使わなければならない操作が混ざった時に迷うわけです。両方が混在していると心がもやもやするんですね。
例えばWindowsのシステムディレクトリのパスを取得したいとしたらWin32APIを使うしかありません。多分。で、これで得られたパスをboost.filesystemで操作しようかとはなかなか思わないって一面もあったりするのも事実です。全部Win32APIでやっちゃおうかとそそられるのです。
...などとひっそりと書いておきます。
註:当記事は私個人の感想であり感じ方には個人差があります。