『Cの延長としての C++ 入門』 | Programming Place Plus e-Book Project

トップページe-Book Project

(旧版)Cの延長としての C++ 入門

ジャンル

C++

レベル

C言語を習得済みであること

出版日

2017年10月

価格

\400 (Kindle Unlimitied 読み放題対象) ※第2版があります。

Kindle の電子書籍は、Kindle専用端末の他、Windows、macOS、iOS、Android 向けの無料アプリを使って読むことができます。




第2版があります。

概要

本書は、C++ の機能解説を中心とした入門書です。C言語を使った開発を経験されていることが望ましいですが、一般的な入門書を理解できていれば、読むことができるレベルだと思います。

本書の目的は、いつまでもC言語の世界に留まっていないで、C++ へ移行していただくことです。C++ は「難しい」「複雑」「巨大」のような、移行を躊躇してしまうようなイメージが多いようです。C言語に慣れた人の中には「オブジェクト指向」なんていう謎の考え方に馴染めないということで、移行できずにいる人もいるかも知れません。

C++ は、様々なプログラミングスタイルを許してくれる言語です。C++ はオブジェクト指向でプログラムを書くことを強制しませんし、C言語のようなスタイルでプログラムを書くことも許してくれます。また、C++ に用意されている多数の機能は、その一部だけを導入できますから、全体像を把握しないと使えないなんてこともありません。要は、導入の進め方次第で、難易度は大きく変わるということです。

本書では、C言語の延長線上の考え方で導入できると思われる機能を優先して解説しています。例えば、オブジェクト指向の考え方はほとんど登場しません。それでも C++ への移行には価値があることを示したいと思います。

コンパイラのセットアップや、使い方には触れていません)。

目次

  • 第0章 はじめに
    • 本書の内容
    • コラムについて
    • C と C++ の歴史
    • コンパイラについて
    • C++ が難しいというのは本当か
    • C より C++ を使うべき理由
  • 第1章 基本的なこと
    • ファイルの拡張子
    • コンパイルの方法
      • gcc
      • VisualStudio
    • コメントのスタイル
    • 仮引数が空の場合の意味
    • main関数の末尾の return文の省略
    • タグ名の省略
    • ローカル変数を宣言する位置
  • 第2章 名前空間
    • 名前空間
      • 名前空間の外から名前を使うとき
      • 名前空間内で名前を使うとき
      • 別の名前空間の名前を使うとき
    • std名前空間
    • 名前空間の分割
    • usingディレクティブ
    • 無名名前空間
  • 第3章 型と定数
    • キャスト
      • static_cast
    • 論理型
    • ヌルポインタの表現
    • 積極的に const を使う
      • C と C++ の const の違い
      • オブジェクト形式マクロを避ける
      • ローカル変数に const を付ける
    • 文字と文字列の定数の型
      • 文字定数
      • 文字列定数
  • 第4章 関数
    • 関数宣言
    • 関数オーバーロード
    • 関数テンプレート
      • テンプレート実引数を明示する
      • 関数テンプレートを定義する位置
    • 入出力機能
      • 標準出力ストリーム
      • 標準エラーストリーム
      • 標準入力ストリーム
    • インライン関数
    • 関数形式マクロを避ける
  • 第5章 クラス
    • クラスとは
    • アクセス指定
    • メンバ関数
      • クラスやメンバ関数の定義を書く位置
      • メンバ関数の定義をクラス定義内に書く
      • メンバ関数を使う理由
    • constメンバ関数
    • コンストラクタ
      • デフォルトコンストラクタ
      • メンバイニシャライザ
    • デストラクタ
    • 変数や関数以外のメンバ
  • 第6章 クラステンプレート
    • クラステンプレート
    • クラステンプレートを定義する位置
    • 標準ライブラリのクラステンプレート
      • std::basic_string
      • std::vector
      • std::list
      • std::stack
  • 第7章 動的なオブジェクトの生成
    • new と delete
    • new[] と delete[]
    • new や new[] が失敗したとき
    • RAII
      • delete の自動化
      • delete[] の自動化
  • 第8章 C との連携
    • C++ から C のコードを使う
    • stdio と iostream の連携
  • あとがき
    • Programming Place e-book Project



更新履歴

’2018/4/4 無料サンプルを公開しました。

’2017/11/21 トップページから分離させる形で新規作成。



Programming Place e-Book Project のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る