プログラミング言語 C++第 4 版

プログラミング ゲンゴ シープラスプラス

C++11 対応

プログラミング言語 C++第 4 版の表紙
プログラミング
著者:
ビャーン・ストラウストラップ / 柴田望洋(ストラウストラップ, ビャーン / シバタ, ボウヨウ)
出版社:
SB クリエイティブ
出版日:
2015年03月02日頃
ISBN:
9784797375954
在庫:
在庫あり
5(2 件 / 楽天ブックス)
中級者向け
C・C++・C#プログラミングオブジェクト指向プログラミングアルゴリズムデータ構造ソフトウェア開発コンパイラーメモリ管理テンプレートSTL

なぜ注目されているか

総合157位 ↓ 5 ランクダウン 言及 3 件
言及数
647位

書籍紹介

C++の全貌とプログラミングの極意を完全解説。C++のすべてが、ここにある!!

技書の森解説

言語の設計者が自ら言語全体を解説する本は、どの言語にもあるわけではありません。『プログラミング言語 C++ 第 4 版』 (ビャーネ・ストラウストラップ 著、柴田望洋 訳、SB クリエイティブ、2015 年刊) は、C++ の設計者 / 実装者である Bjarne Stroustrup が書いた原著 The C++ Programming Language 第 4 版の日本語訳で、国立国会図書館の書誌には「C++11 対応」と注記されています。版元は本書を「C++ のバイブル (第 4 版)」と呼び、「C++ の開発者ストラウストラップが C++11 の全貌を完全解説」する一冊として「すべての C++ プログラマ必読」と紹介しています。判型は B5 変型判で、版元公式のサイズ欄には「B5 変/2 色」と記載されています。

全 4 部 44 章の構成、探検編から標準ライブラリまで

構成は第 I 部から第 IV 部までの 4 部、第 1 章から第 44 章までの 44 章です。第 I 部「はじめに」は第 1 章「本書の読み進め方」に続き、第 2 章から第 5 章で「C++ を探検しよう」を基礎編、抽象化編、コンテナとアルゴリズム編、並行性とユーティリティ編の順にたどる、言語全体の見取り図です。第 II 部「基本機能」 (第 6 章から第 15 章) は型と宣言、ポインタと配列と参照、構造体と共用体と列挙体、文、式、主要な演算子、関数、例外処理、名前空間、ソースファイルとプログラムを扱います。第 III 部「抽象化のメカニズム」 (第 16 章から第 29 章) はクラス、構築と後始末とコピーとムーブ、演算子の多重定義、派生クラス、クラス階層、実行時型情報を経て、テンプレート、ジェネリックプログラミング、特殊化、具現化、テンプレートと階層、メタプログラミング、行列の設計へ進みます。第 IV 部「標準ライブラリ」 (第 30 章から第 44 章) は標準ライブラリの概要から STL アルゴリズム、STL 反復子、メモリと資源、ユーティリティ、文字列、正規表現、文字列とストリーム、ロケール、数値演算、並行処理、スレッドとタスク、標準 C ライブラリ、互換性までを収めます。

設計者が書く C++ 解説の意味、多パラダイム言語の難しさ

C++ の難しさは、手続き的な記述、オブジェクト指向 のクラス階層、テンプレートによるジェネリックプログラミングという複数の作法が一つの言語に同居し、しかもメモリと資源の管理をプログラマが直接引き受ける点にあります。オブジェクトの寿命が構築子と後始末の呼び出しに結び付いているため、コピーとムーブの区別、例外が発生したときの資源の解放、テンプレートがコンパイル時に生成するコードの振る舞いを、個別の文法ではなく相互作用として理解しないと、動くが理由の分からないコードになりがちです。本書の目次が第 II 部の基本機能、第 III 部の抽象化のメカニズム、第 IV 部の標準ライブラリという層の順に積み上がり、探検編でまず全体を一巡させる作りになっているのは、この相互作用を見失わせないための順序と読めます。設計者本人の解説である価値は、個々の機能の使い方に加えて、なぜその機能がその形で言語に置かれているのかという根拠にたどれることにあります。本書が対応する C++11 について目次を見ると、「構築と後始末とコピーとムーブ」「並行処理」「スレッドとタスク」「正規表現」という章が独立して置かれており、資源の移し替え、複数の処理を同時に進める 並行処理、文字列のパターン照合まで、規格が扱う範囲の広さがそのまま章立てに現れています。

訳者 柴田望洋と、原著第 3 版からの版歴

翻訳は柴田望洋氏で、版元は「名著『新・明解 C 言語入門編』『新版明解 C++ 入門編』の著者 柴田望洋」と紹介しています。版元登録の刊行時プロフィールによれば、1963 年生まれ、工学博士、福岡工業大学情報工学部情報工学科准教授で、2000 年には「分かりやすい C 言語教科書・参考書の執筆」の業績が認められ、日本工学教育協会より著作賞を授与されています。著者のストラウストラップ氏は、同じ刊行時プロフィールで、The C++ Programming Language の著者であり C++ の設計/実装者、テキサス A&M 大学の計算機科学教授、全米技術アカデミーの会員、AT&T のフェローで、学会に移る前は数十年にわたって AT&T のベル研究所で働き、ISO C++ 標準化委員会のメンバーであると紹介されています。版歴については、国立国会図書館の書誌に第 3 版はアジソン・ウェスレイ・パブリッシャーズ・ジャパンから 1998 年に刊行されたと注記されており、第 4 版は版元を SB クリエイティブに移して 2015 年に刊行されました。1998 年刊の第 3 版から 17 年を経た第 4 版は「C++11 対応」と注記されており、対応する規格の面で第 3 版と区別されます。

C++ プログラマ必読と版元が言う本の前提と、向く人 / 向かない人

版元が読者として掲げるのは C++ プログラマであり、プログラミング自体を初めて学ぶ人向けの入門書としては案内されていません。他の言語で書いた経験があれば第 I 部の探検編から入って全体像をつかめますが、変数や関数といった概念そのものから学びたい人には、訳者自身の『新版明解 C++ 入門編』のような入門書を先に置く二段構えが現実的です。本書で元が取れるのは、業務や研究で C++ を書いていて、コピーとムーブの使い分けや例外時の資源解放のように「なぜこう書くのか」を設計者の言葉で確かめたい人、テンプレートや標準ライブラリの章を必要に応じて引くリファレンスを一冊手元に置きたい人、コードレビューで設計判断の根拠を説明する立場の人です。国立国会図書館の書誌に索引ありと記録されているとおり、通読だけでなく引く使い方にも対応します。一方で、本書の対応規格は C++11 ですから、それより後の規格で追加された事項を調べる目的には、規格の一次情報や他書を当てる必要があります。C++ を長く使う人にとって、言語の全体像とその根拠を一度設計者の視点で通しておくことは、日々の設計判断の精度を上げる投資として確実に返ってくる一冊です。

言及した記事 (3 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: