草プログラマー、それはつまり草

CS 会計 司法試験 英語 bitcoin 数学 物理学 などいろいろなことを勉強してます

C++のオススメ書籍まとめ 入門から中・上級者まで

結局 C/C++ ができなくてはいけないのである。あとLisp,Haskellぐらいはやるべきでしょう。

ということで一部で難しいと言われている(?)C++の技術書をまとめてみます。

はじめて型付き言語(CやC++)を学ぶ人


型付き言語がはじめてという人はまずC言語から勉強したほうがいいでしょう。

まずCの基本をおさえるなら


Cの絵本 第2版 C言語が好きになる新しい9つの扉

Cの絵本 第2版 C言語が好きになる新しい9つの扉


が1番簡単で読みやすく分かりやすいと思います。

初心者向けのとても分かりやすい本なので、型やポインタという概念をちゃんと理解できると思います。


また、オブジェクト指向が全く分からない人は、


スッキリわかるJava入門 第2版 (スッキリシリーズ)

スッキリわかるJava入門 第2版 (スッキリシリーズ)


が一番わかりやすいです。オブジェクト指向という概念、カプセル化、継承、ポリモーフィズムをしっかりと理解しておきましょう

Cでポインタの基本、JAVAでオブジェクト指向の基本を学んでからC++に入るのがいいと思います。

C++の入門書


一番簡単で分かりやすいC++本は、


C++の絵本 第2版 C++が好きになる新しい9つの扉

C++の絵本 第2版 C++が好きになる新しい9つの扉


焦っていきなりストラウストラップの本とか読むと死にますので、しっかりと基礎をつかみましょう。

軽い本なので短期間で一気に読むのがいいと思います。この後に


やさしいC++ 第4版 (「やさしい」シリーズ)

やさしいC++ 第4版 (「やさしい」シリーズ)


を読めばC++の基本はある程度身に付くと思います。

基本的なことを理解したあとは、

effective シリーズを読むといいとおもいます。

Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI)

Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI)

新訂版MORE EFFECTIVE C++ (ADDISONーWESLEY PROFESSIONAL CO)

新訂版MORE EFFECTIVE C++ (ADDISONーWESLEY PROFESSIONAL CO)

  • 作者: スコットメイヤーズ,安村通晃,伊賀聡一郎,飯田朱美,永田周一
  • 出版社/メーカー: 丸善出版
  • 発売日: 2014/02/28
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (1件) を見る


この2冊は熟読した方がいいでしょう。

すこし読みごたえがありますが、理解はしやすいです。

特に Effective C++ は非常に評価が高いので必ず読んだ方が良いと思います。

C++をやる以上、ストラウストラップの本は避けては通れません。なんせC++の発明者ですから。


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

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


ストラウストラップの本を頭に入れれば、C++に関しては十分です。

ストラウストラップの本ははっきりいって読みづらいですが、C++を真剣にやるつもりなら時間をかけてしっかりと読み込んだ方がいいでしょう

普通の人はここまででいいと思います。あんまり難しい機能とかきょくりょくつかわないほうがいいと思うので。


最新の機能を学ぶ


それとC++の最新の機能について重点的に説明している本ではこれが1番いいと思います。


Effective Modern C++ ―C++11/14プログラムを進化させる42項目

Effective Modern C++ ―C++11/14プログラムを進化させる42項目


これもオススメ。ここまでくればかなりのレベルになっていると思います。



高度な機能を学ぶ


テンプレートなら


C++ テンプレート完全ガイド (Programmer’s SELECTION)

C++ テンプレート完全ガイド (Programmer’s SELECTION)


テンプレートは難しいので余裕のある人だけやればいいと思います。

正直ちょっと読みづらいです。

あとは、アルゴリズムとデータ構造をC/C++でちゃんと勉強すればOKでしょう。


プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造


アルゴリズムとデータ構造は非常に重要なので妥協せずにしっかりと身に付ける必要があります。



あと、C/C++をやるということはシステムをやるということだと思うので、C/C++がある程度分かったらUNIX/LINUXやコンパイラ、オペレーティングシステム、CPUの勉強をしましょう。

www.neuralsparrow.com
www.neuralsparrow.com
www.neuralsparrow.com


Copyright © 2016 へなちょこプログラマー All rights reserved.