最近(2023年11月頃)購入した書籍
最近購入した書籍の紹介です。
挙げといてなんですが、このあたりはメジャーどころなので内容や評価に関してはAmazonのレビューでも見てください(どちらも良い本だと思います)、ということで別のものを紹介します。
"return文で起こること" - 技術書典オンラインマーケット
これはC++のreturn文に関する解説書です。
たかがreturn文なのですが、C++においてはreturnの過程で返り値であるオブジェクトのコピーが発生したり、状況によってはコピー処理が省略されたりと様々な処理が行われます。本書では関数からのreturnにおいて何が行われているかを詳細に解説しています。
何らかのオブジェクトを作成する関数を書く場合、以前なら参照渡しで関数にオブジェクトを渡していましたが、Modern C++においてはRVO(Return Value Optimization)/NRVO(Named Return Value Optimization)を期待してオブジェクトを値として返す関数を書くことが多くなりました。この時、return文の動作を理解して使わないと、裏で無駄なコピーが発生してパフォーマンスに大きな影響が出たりします。
- 値カテゴリ(prvalue/xvalue)
- RVO/NRVO
- コピー省略
このあたり、私自身よくわからなくなって、cpprefjpとかC++ referenceを参照することがあるのですが、本書も買っておくと知識を補強できてよいのではないかと思います。 分かっていたつもりだったreturn文のことについてより深く知ることができるでしょう。
ところで、技術書典オンラインマーケットといえば、以前購入した"ゲーム開発者のためのC++11~C++20 技術書典10 Ver."も良い内容でした。今気づきましたが同じ著者の方なんですね。 別にゲーム開発者でなくとも、C++11以降の便利な機能をざっと知ることができる実践的でよい技術書だと思います。
投稿日:2023/11/27 19:53