最新の C++ を安全に採用する

著者: Dr. John Lakos、Vittorio Romeo、Dr. Rostislav Khlebnikov、Alisdair Meredith
出版社: アディソン・ウェズリー
日付: 2021 年 12 月
ページ: 1376
ISBN: 978-0137380350
プリント: 0137380356
キンドル: B09HTFQB92
対象者: C++ 開発者
評価: 4
レビュアー: ハリー・フェアヘッド
安全な C++ を書く – 不可欠に聞こえます

すべてのコンピューター言語に落とし穴があるという考えは特に気になることではありませんが、C++ でそれを正しく行うための専用の 1300 ページの本を手に入れることができることを発見すると、ちょっとしたショックを受けます。

Bjarne Stroustrup の C++ に関する本を読むたびに、C++ はなんて賢くてきれいな言語なんだろうと考えてしまいます。 その後、本物の C++ に出くわしたり、「C++ ウィザード」の本を読んだりすると、できるだけ早く C のより単純な世界に戻ります。 C++ でほとんど何でも行う方法は、私が考えているよりも多くありますが、今ではそれらの多くが安全ではないようです。

本の最初の章は、ファインマンを引用しています:

「もしそれが実験に反するなら、それは間違っている。その簡単な声明の中に科学への鍵がある」.

それは私に促しました:

「言語を安全に使用する方法を説明するのに 1300 ページが必要な場合、その言語はおそらくあなたが探している言語ではないでしょう。」

しかし、最新の C++ をフルに活用することに専念しているのであれば、おそらく読み進める必要があると思います。

最初のショックは、この巨大な本にたったの 4 つの章しかないことです。 ただし、各章は小さなセクションに分かれているため、心配する必要はありません。 第 0 章、そうです、すべてのプログラミング本は第 0 章から始めるべきであるという議論があり、本の背後にあるアイデアと原則を概説しています。 このコンテキストでの最新の C++ は、C++ 11 および C++ 14 を意味します。

第 1 章のタイトルは「安全な機能」ですが、これはちょっとしたパズルです。 安全なことよりも危険なことを教えてもらったほうがいいのでは? 結局のところ、安全なリストには制限がなく、これは 140 ページの長さであるという事実によって部分的に証明されています。 それぞれのアイデアが説明され、安全だと思われる理由が伝えられます。

第 2 章は「Conditionally Safe Features」というタイトルで、約 800 ページで本の大部分を占めています。 ご想像のとおり、これは正しく扱う限り安全なもののリストです。 明らかに、これは最初から最後まで読む本ではありません。 だから私は、ほとんどの読者がやろうとしていることをして、私が興味を持ったセクションに飛び込みました. 私はラムダのセクションを見て、ラムダとは何か、そしてそれらを使用するいくつかの例についての非常に長く詳細な説明に直面しました – これは30ページ以上に及びました. 最後に、潜在的な落とし穴と呼ばれるセクションにたどり着きました。これは、私が間違っている可能性がある場所を指摘する約 5 ページでした。 私はすでにラムダについて何かを知っていたので、これは多くの改訂であり、最終的には時間が十分に費やされたとは感じませんでしたが、あなたは同意しないかもしれません. このセクションはよく書かれており、多くの例が含まれています。実際には、おそらく多すぎて長すぎます。

第 3 章は「安全でない機能」というタイトルで、約 250 ページの長さです。 もちろん、安全でないものを本当に避けようとしているのであれば、これが本書の核心ですが、無条件に安全でないものとして挙げられているのは 9 つだけです。 これほど長い本にしては、それほど危険なことはないように思えます。 本書のこの部分では、final に関するセクションを読みました。これは、システム クラスを拡張できないことがわかったときに、しばしば私を悩ませます。 final とは何か、そしてその使用例についてかなりの数のページを読みましたが、潜在的な落とし穴にたどり着いたとき、それらが落とし穴であるとは本当に思っていなかったことがわかりました。 確かに、それらは final の使用を禁止することを検討するほど悪くはありませんでした。「本当に悪い」というよりは、「良くない」のセットのようなものです。

結論

全体として、これはよく書かれた本であり、4 人の著者がこの大量の本を作成するために多大な努力を払ったことは明らかです。 私の留保は、そのような本の実際の必要性についてです。 私は lint と静的分析に頼って、より良くできることを指摘しています。この特定の本によって、より良いコードを書けるようになるかどうかはわかりません。

C++ の例と、その方法と使用例の説明、および問題が発生する可能性があることに関するいくつかの警告をまとめてまとめたい場合は、この本をお楽しみください。 私にとっては、善意であるにもかかわらず、疑わしい価値があります.

プログラマー向けの本に関する私たちの報道についていくには、以下に従ってください。 Twitterで@bookwatchiprog または、I Programmer’s Books RSS フィードを購読して、ブック ウォッチへの毎日の新しい追加と新しいレビューを確認してください。

バナー

.

Leave a Comment

Your email address will not be published. Required fields are marked *