まえがき

C++は、オブジェクト指向、命令型、ジェネリック(総称型)、関数型プログラミングなどのさまざまなパラダイムを組み合わせた汎用のプログラミング言語です。C++は効率を重視して設計されており、パフォーマンスが重要なアプリケーションでは主要な選択肢になっています。過去数十年にわたり、産業界、学術、その他で最も広く使われるプログラミング言語の1つです。C++は、2020年完成予定のC++20という次バージョンの標準に取り組んでいてISO(国際標準化機構)によって標準化されています。

言語仕様書が1,500ページを超えるため、C++は学習・習得が簡単な言語ではありません。スキルというものは、書籍などを読んだり、他の人がやっているのを見ただけでは身につかず、実際に使う経験を何度も重ねて初めて身につくものです。プログラミングスキルも同じです。開発者は、書籍や記事を読んだり、ビデオチュートリアルを見るだけで新しい言語や技術を学ぶことはできません。学んだことを身に付け、新しいものを生み出せるよう練習を繰り返す必要があります。残念ながら、多くの場合、自分の知識を試すのに適切な練習問題はなかなか見つからないものです。さまざまなプログラミング言語について、問題を掲げたWebサイトが多数ありますが、ほとんどが、数学の問題、アルゴリズム、あるいは、学生の競技用のものです。この種の問題は、プログラミング言語のさまざまな機能を練習するのに役立ちません。そんなときに、本書が役立ちます。

本書は、C++言語および標準ライブラリの機能だけでなく、多くのサードパーティのクロスプラットフォームのライブラリを練習できるように設計された実世界の問題を100問集めたものです。しかし、これらの問題でC++特有なのはわずかで、他のプログラミング言語でも解けるものです。もちろん、本書の目的はC++を習得することにあり、読者が問題をC++で解くことを期待しています。本書の解答はすべてC++で書かれています。本書を他のプログラミング言語を学ぶ際に問題集として参照することはできますが、その場合には、得られるものは限られるでしょう。 ...

Get Modern C++チャレンジ ―C++17プログラミング力を鍛える100問 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.