C++98(もう30年も前の規格ですね)で止まっている知識のアップデートをはかるべく「プログラミング言語C++第四版」(ビャーネ・ストラウストラップ著、柴田望洋訳)を読みました。この本はC++11が対象で最新のC++17より6年も前の規格を対象にした本なんですけど、ストラウストラップによる教科書は今のところこれ(4th Edition)が一番新しいですし実用的にはそろそろこの2011年規格が普通に使えるようになってきたくらいなもんじゃないかと思ってますもので、まあ、今齧るにはこの辺りが適当かな、と。この邦訳本が出たのも2015年ですし。
少々古いとは言っても、C++11にはこれまで見たことない書き方やライブラリが沢山追加されていて、一体誰がこんなマニアックな言語仕様やライブラリのサポートを必要としているのだろうと怪訝に思う反面、何も律儀に全機能を使う必要は無いのですし、これまでは制約があって素直に書けなかったところやごちゃごちゃ長々と書くしかなかったところなど、古いやり方にこだわらないで使えるところは柔軟に使っていこうと思います。autoや範囲for文は素直に便利ですし、マルチスレッドのサポートが標準に組み込まれたので(ロックフリープログラミングは難解ですが)マルチプラットフォームなプログラムを書くのが楽になりますし、なにより他人の書いたものが読めないようでは困りますしね。
さて、邦訳は全体的にはスムーズな翻訳だと思います。他の方による初期のエディションの翻訳に比べたらもう雲泥の差ですが、それでも、大部な本ということもあって学生さんの手でも借りたのか監訳者の目が届いていないのか、原文と比べるとどうも怪しいところが幾つかあるように思われます。柴田さんのWEBページに正誤表でもあればと思ったのですけれども、見当たらないので、ならばこの本を読まれる方の参考にでもなればと思い、その辺りを中心に気が付いたことなどメモ代わりに(そっと)書いておこうと思います。
誤解して欲しくないのですが、邦訳は全体的にはスムーズな読み易い訳です。このような良質の日本語の教科書があるのはとても幸せなことです。またもし、指摘の方が間違っているというようなことがあれば、記事にコメントして頂ければ幸いです。