はじめに
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
君はすでにプログラミングの基礎を知っている。ほんの少しかもしれないが、C++はまだ試したことがない。 君は正しい場所に来た。
C++は古い言語で、長い時間をかけて進化してきた。 C++は習得が難しい言語という評判があるが、ここでは基礎を説明する。 C++を学ぶ時間をかければ、他の言語の内部で何が起きているのかをより深く理解できるだろう。 つまりC++を学べば、他の多くの言語がより簡単に学べるようになる。 時間と労力をかける価値はある。
最近、新しい入門書が出版されていないので、今こそ新しい入門書を書くべき時だと思った。 優れた古い本はたくさんあるが、新しい言語標準については扱っていない。 私のお気に入りの1冊は、アンドルー・ケーニッヒとバーバラ・E・ムーによる『Accelerated C++: Practical Programming by Example』だ。 これは今でも優れたリソースだが、2000年に出版されたため、新しい機能については扱っていない。
この本では、新しい C++ の機能を紹介しながら、小さなプログラムを構築していく。 主に C++23 を対象とするが、C++26 の機能もいくつか紹介する。 また、変更されていない古い機能についても取り上げる。 すべてを網羅するスペースはないが、この言語の基本を理解するためにすべてを知る必要はない。 確かな基礎を築くのに十分な内容を取り上げる。
この本は誰のためのものか?
この本は、C++を知らないが他のプログラミング言語で少しプログラミング経験がある人向けに書いた。 学生でもベテランのプロでも、C++を学ぶことで何かを得られるだろう。 少し前にC++をやったことがあるなら、この本で再びペースを取り戻せる。
既存の知識は一切前提とせず、変数やループといった基本を序盤で解説する。 値を格納するコンテナや、値を発見・ソートするアルゴリズムなど、標準的なC++機能の使い方を素早く習得できる。
クラスについても学ぶことになる。他の言語で出会ったことがあるかもしれない。 未経験でも問題ない。 クラスが何のためにあるのか、C++でどう使うのかを説明する。
アルゴリズムを用いた関数型プログラミングスタイルと、クラスを用いたオブジェクト指向スタイルを学ぶことで、二つの異なるパラダイムを習得できる。 C++は非常に柔軟で、様々なプログラミングアプローチをサポートしつつ効率的なコード記述を可能にする。 ここで得る知識は他のプログラミング言語にも応用可能であり、時代を超えた価値を持つ。 その後、C++を追求したくなるかもしれない。 私のキャリアは複数の言語を混ぜたものだったが、バーコードスキャナーのような組込みマシンから始めて、主に経理分野でC++を使っていた。 ゲームプログラミングでC++を使う人もたくさん知っている。 興味があれば、そこには君を待っているキャリアがある。 あるいは、単に楽しむためにC++を学ぶこともできる。
本書の構成
全15章で構成され、最初の章では「Hello, world!」プログラムから始める。 これでスタートだ。コードを記述・ビルドするための環境設定に少し時間を割く必要がある。 第1章の終わりまでには、画面に出力する2つの異なる方法を理解できるだろう。 C++は複数のアプローチを提供することが多い。これは言語が進化するにつれて機能も進化するためだ。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access