試験公開中

このエントリーをはてなブックマークに追加

江添亮のC++入門

アスキードワンゴ

4,400円 (4,000円+税)

C++エバンジェリストによるC++入門の決定版! プログラミング経験者を対象としたプログラミング言語C++の入門書。複雑な機能を混乱することなく理解できるように構成されており、丁寧に読み込んでいけば、C++のポテンシャルを最大限に引き出せるようになる。

関連サイト

本書の関連ページが用意されています。

内容紹介

◆最新規格に準拠したC++プログラムの書き方の王道を極める

効率性を柔軟性を兼ね備えたプログラミング言語として進化を続けるC++。本書は、次の規格として標準化が進められているC++20を意識しながら、現行の規格に準拠したC++プログラムの書き方を徹底的に解説していく。プログラミング経験者を主要な対象としているが、解説を進めるに当たっては、その時点で学習した知識だけを利用して新しい知識を学ぶ方法(知識のブートストラップ)が意識されており、プログラミング初心者であっても新しい機能、知識の理解を無理なく行えるようになっている。C++の実行、デバッグ、基本的な文法、アルゴリズム、オブジェクト指向、テンプレート、メモリ管理、乱数など、C++による本格的なプログラム開発に必須の知識を網羅した本格的な入門書である。

 本書はプログラミングの経験はあるがC++は知らない読者を対象にしたC++を学ぶための本である。本書はすでに学んだことのみを使って次の知識を説明する手法で書かれた。C++コンパイラーをC++で書く場合、C++コンパイラーのソースコードをコンパイルする最初のC++コンパイラーをどうするかというブートストラップ問題がある。本書はいわばC++における知識のブートストラップを目指した本だ。これにより読者は本を先頭から読んでいけば、まだ学んでいない概念が突如として無説明のまま使われて混乱することなく読み進むことができるだろう。

 C++知識のブートストラップを意識した入門書の執筆はなかなかに難しかった。ある機能Xを教えたいが、そのためには機能Yを知っていなければならず、機能Yを理解するためには機能Zの理解が必要といった具合に、C++の機能の依存関係の解決をしなければならなかったからだ。著者自身も苦しい思いをしながらできるだけ今までに説明した知識のみを使って次の知識を教えるように書き進めていった結果、意外な再発見をした。ポインターを教えた後はC++のほとんどの機能を教えることに苦労しなくなったのだ。けっきょくC++ではいまだにポインターの機能はさまざまな機能の土台になっているのだろう。

 本書の執筆時点でC++は現在、C++20の規格制定に向けて大詰めを迎えている。C++20では#includeに変わるモジュール、軽量な実行媒体であるコルーチン、高級なassert機能としてのコントラクトに加え、とうとうコンセプトが入る。ライブラリとしてもコンセプトを活用したレンジ、span、flat_mapなどさまざまなライブラリが追加される。その詳細は、次に本を出す機会があるならば『江添亮の詳説C++17』と似たようなC++20の参考書を書くことになるだろう。C++はまだまだ時代に合わせて進化する言語だ。

(「序」より)

書誌情報

  • 著者: 江添亮
  • 発行日: (紙書籍版発行日: 2019-09-20)
  • 最終更新日: 2019-09-20
  • バージョン: 1.0.0
  • ページ数: 703ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: アスキードワンゴ

対象読者

C++に興味のある人、C++入門者

著者について

江添亮

2010 年C++ 標準化委員会エキスパートメンバー
2014 年株式会社ドワンゴ入社
2015 年C++ 標準化委員会委員
Blog: http://cpplover.blogspot.jp/
GitHub: https://github.com/EzoeRyou/

目次

第1章 C++の概要

第2章 C++の実行

第3章 C++ヒッチハイクガイド

第4章 デバッグ:コンパイルエラーメッセージの読み方

第5章 条件分岐の果てのレストラン

第6章 デバッグ:コンパイル警告メッセージ

第7章 最近体重が気になるあなたのための標準入力

第8章 ループ

第9章 メモリーを無限に確保する

第10章 デバッグ:printfデバッグ

第11章 整数

第12章 浮動小数点数

第13章 名前

第14章 イテレーターの基礎

第15章 lvalueリファレンスとconst

第16章 アルゴリズム

第17章 ラムダ式

第18章 クラスの基本

第19章 より自然に振る舞うクラス

第20章 std::array

第21章 プログラマーの三大美徳

第22章 配列

第23章 テンプレート

第24章 arrayをさらに実装

第25章 arrayのイテレーター

第26章 傲慢なエラー処理:例外

第27章 ポインター

第28章 イテレーター詳細

第29章 動的メモリー確保

第30章 vectorの実装:基礎

第31章 vectorの実装:メモリー確保

第32章 コピー

第33章 ムーブ

第34章 rvalueリファレンス

第35章 ムーブの実装

第36章 スマートポインター

第37章 自作の数値クラスで演算をムーブに対応する方法

第38章 文字列

第39章 乱数

第40章 Cプリプロセッサー

第41章 分割コンパイル

第42章 デバッガー

Home 書籍一覧 江添亮のC++入門 ▲ ページトップへ戻る