戻る

The C++ Standard Library: A Tutorial and Reference (2nd Edition)  (中級者向け) ★★★★★

C++11の教科書
英語の本で恐縮なのですが、最近この手の本が売れないのかC++の最新情報を入手しようと思うと日本語の文献がありません。現在ではJAVAやC#などの言語を学ぶ人が多いので今さらC++を学習しようとする人が少なくなっているのでしょう。しかし、C++も着実に進化を続け、最新版はC++11となっています。さて、このC++11なのですが、この機能をフル活用したソースを見ると「えっ!これC++なの?」と思うほど進化しています。たぶん、C++98までで学習を止めてしまった人には他の言語に見えてしまうのではないでしょうか。実は、私も比較的保守的なので、今までTR1などの拡張機能は使用していませんでし、そのコードも見る機会は多くありませんでした。しかし、VC2010からC++11の機能が使用できるようになり、C++11の機能を見かける機会が増えました。またBOOSTで拡張されたコードも見ることも多くなり、C++11をしっかり学んでおく必要があるなと考えていたところ本書が発売されました。"2nd Edition" となっている通り "1st Edition" が存在する訳で、これは「C++標準ライブラリチュートリアル&リファレンス (ASCII Addison Wesley Programming Series) 」として発売されていましたが、今は絶版となっています。さて内容ですが、英語で約1000頁の本ですから不足はありません。できれば全て読み通すのが良いと思いますが、既にC++03をマスターしている方なら、C++11で拡張された部分のみ拾い読みしても良いでしょう。特にラムダ式などは一度読んでおかないと初めて見ると戸惑いが多いと思います。ハードブックなので値段と重さが高いですが、キンドル版もあるので両方共低く抑える事も可能です。


ロベールのC++入門講座 (初級者向け) ★★★

現在入手可能な標準的入門書
C++の入門書を紹介してほしいという要望があったので入門書を探したところ、最近適当なC++の入門書がないということに気づきました。以前は何冊か存在したと思ったのですが、最近はC#やJavaが使われる事が多いのかC++入門書は選ぶほど種類がありませんでした。その様な状況でとりあえず選んだのが本書なので、一応紹介しておきます。著者がロベールさんとなっているので外国の方かと思ったら日本人のようです。それは置いておいて、本書は何と947頁もあるのには驚きです、この頁数にして\3,800というのも驚きの安さです。論評としてはC++を一通り網羅しているし、現在出版されている他の入門書に比べれば遥かに内容も充実しているので、私は上記目的のために本書を選びました。ただ、内容的には20年前C++入門書が充実していた頃の本に比べると物足らなさが残りますが、無い物ねだりをしても仕方がないので、まずは本書でしっかりと基礎を勉強しましょう。

C++の真髄はテンプレートにありましから、本書の内容をマスターした後は下記スコット・メイヤーズ氏の本でテンプレートの研究をすればバッチリです。 ついでに右側ルール本も読めば、もう卒業です。

★★★★ ★★★★ ★★★★ ★★★★


C/C++セキュアコーディング (中級者向け) ★★★★★

高品質なプログラムを書くための参考書
著者は、セキュリティに関心のある人なら必ず耳にするCERTに勤務しています。したがって、著者のセキュリティに対する知識も非常に詳細で具体的なものです。C言語は、変数領域に対するアクセスの自由度が高いので、相当注意したつもりでも何かの勘違い等で変数領域を超えて書き込んでしまうことがあり得ます。経験的に、テスト工程にて最後まで残る不可解な障害の多くは、この様な原因で発生するように思えます。そして、この問題は一旦プログラムの中に入り込んでしまうと、その後検出するのに非常に多くの時間を要します。したがって、プログラマとして、コーディングする際には常にその点に気をつける習慣を身につける必要があります。最近の言語では、この様な問題が発生しないように工夫されていますが、C言語はメモリを自由にアクセスできることが特徴なので、この辺の機能が制限されてしまうと、C言語の存在する意味が無くなってしまいます。だからこそ、その副作用を避ける技術の習得が不可欠となります。


最新ANSI C++オブジェクト指向プログラミング (中級者向け) ★★★★

C++のエキスパートになりたい人のための本
本書は、読み手を選びます。手っ取り早くC++の知識を得ようと思う人にはむきません。内容は学術的なので、C++のメカニズムをじっくり理解したい人は満足できると思います。 カーニハンの「プログラミング言語C」が好きな人には良いのかもしれません。内容については分厚い本なので 漏れがありません。したがって、本書の他にもう一冊薄い本を購入し、その本と併用して使用すると良いでしょう。


GNU C++プログラミング (中級者向け) ★★★★

UNIXでC++を勉強したい人には最適
本書は、LinuxでC++を学ぶことを想定しています。したがって、ソースコードも多く掲載されていますし、内容も具体的に説明されています。そういう意味で、最新ANSI C++オブジェクト指向プログラミングよりは、とっつきやすいと思います。本書も分厚い本なので、全て網羅されていますし、説明も良く分ります。私は言語の本に関しては、分厚い本が良いと思っています。特に C++の様なオブジェクト指向の言語は、どうしても抽象的概念が根底にあり、その様な思想的なものは、読み込まないと理解できない側面があるからです。現在では、Linux環境は簡単に構築できるので、これから C++を始めようと思われる方には、本書は非常は良い手引書になるでしょう。


Copyright (C) 2013 Layer Co.,Ltd. All rights reserved.

戻る