『モダンな C++ をはじめよう 第2版 ~C++98/03 から C++11/14/17 へ~』 | Programming Place Plus e-Book Project

トップページe-Book Project

モダンな C++ をはじめよう 第2版 ~C++98/03 から C++11/14/17 へ~

ジャンル

C++

レベル

C++98/03 のプログラミング経験が必要

出版日

2017年12月21日

価格

\400 (Kindle Unlimitied 読み放題対象)

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

無料サンプル

本書の一部(第1章)のみを無料で公開しています。

  • HTML版 (このまま Webブラウザ上で開きます。レイアウトは実際の本とは異なります)
  • mobi版 (Kindle本と同じ形式です)

概要

本書は、「モダンな C++ をはじめよう」の第2版です。 今回は、最新の C++17規格の新機能を追加したほか、初版で扱った内容も全面的に見直し、大幅な修正を行いました。

本書は、古い時代の C++ (C++98/03) を知っている方へ向けて、新しい時代の C++ (C++11/14/17) の新機能(の一部)を紹介しています。

C++11 以降の新機能は、C++プログラミングを容易にし、より良いスタイルのプログラムを実現するものです。C++ を使うのであれば、古い知識のままプログラムを書くことは、非常に勿体ないことです。

ただでさえ巨大だった言語仕様が、ますます大きくなってしまったことは事実ですが、すべてを理解する必要はありません。少しずつでも新しい機能を理解し、少しずつ日々のプログラミングに役立てていけば良いです。本書はその一歩となるべく、特に有用な新機能を選び出し、コンパクトにしています。

なお、分量の増大を避けるため、標準ライブラリに関する新機能や変更点は外しており、言語の文法機能に絞っています。

本書は、以下のコンパイラバージョンに対応しています。

  • Visual Studio 2012 Update 5
  • Visual Studio 2013 Update 5
  • Visual Studio 2015 Update 3
  • Visual Studio 2017 15.4.5
  • gcc 4.7.3 ~ 7.2
  • clang 3.3 ~ 5.0

※本書では、環境構築に関する説明は行っていません。

目次

  • 第0章 はじめに
    • 本書の内容
    • 初版との違い
    • コラムについて
    • 標準規格について
      • どの規格に向けてプログラムを書くべきか
    • 動作確認環境について
    • 機能テストマクロ
  • 第1章 列挙型の強化
    • 末尾のカンマ付加を許可 (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • Scoped Enum (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 基盤型の指定 (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 列挙型の宣言 (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
  • 第2章 型推論
    • auto (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • decltype (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • decltype(auto) (C++14)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 関数の戻り値型の推論 (C++14)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
  • 第3章 文法機能の強化
    • long long型 (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • using による型の別名定義 (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 範囲for文 (C++11、C++17)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 名前空間の入れ子構文 (C++17)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • if、switch の条件式と初期化の分離 (C++17)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 構造化束縛 (C++17)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
  • 第4章 新しいリテラル表現
    • nullptr (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 生文字列リテラル (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 数値リテラルの桁区切り文字 (C++14)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 2進数リテラル (C++14)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
  • 第5章 関数の新機能
    • noexcept (C++11、C++17)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 移譲コンストラクタ (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 継承コンストラクタ (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • override (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 関数の削除 (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
  • 第6章 定数式
    • constexpr変数 (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • constexpr関数 (C++11/14)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • constexprコンストラクタ (C++11/14)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • static_assert (C++11、C++17)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
  • 第7章 ラムダ式
    • ラムダ式 (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 初期化キャプチャ (C++14)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • ジェネリックラムダ (C++14)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • constexprラムダ (C++17)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
  • 第8章 テンプレートの新機能
    • テンプレートの右山括弧の扱い (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • 関数テンプレートのデフォルトテンプレート実引数 (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • エイリアステンプレート (C++11)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
    • クラステンプレートのテンプレート実引数の推論 (C++17)
      • 機能テストマクロ
      • コンパイラの対応状況
      • 解説
      • 移行ガイド
  • あとがき
    • Programming Place e-Book Project について



更新履歴

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

’2017/12/13 新規作成。



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

Programming Place Plus のトップページへ



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