C++の入門書を探しています。

特に作りたいものがあるわけではなく、「やっぱり一度通っておかないと」という気持ちから勉強したいと考えています。
入門書と言っても、文法を事細かに解説する本よりも、写経しながら何となくプログラムを組める本が好ましいです。
今までの経験上、文法や言語仕様の詳解本は後で読む方が効率よく理解できる、と感じているためです。
Ruby, Python, PHP, JavaScript 等のスクリプト言語の経験はあり、オブジェクト指向はそれなりに理解しているつもりです。
よろしくお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/12/21 22:25:56
  • 終了:2010/12/28 22:30:03

回答(7件)

id:asuka645 No.1

あすか回答回数856ベストアンサー獲得回数972010/12/21 22:41:58

ポイント12pt

ミニゲームを作りながら学習する内容です。

後半にMSDNに依存する部分があるのですが、Windowsユーザーでしたらご一読を。

プログラムを作ろう! Microsoft Visual C++ 2010 入門 (MSDNプログラミングシリーズ)

プログラムを作ろう! Microsoft Visual C++ 2010 入門 (MSDNプログラミングシリーズ)

  • 作者: WINGSプロジェクト
  • 出版社/メーカー: 日経BP社
  • メディア: 単行本(ソフトカバー)

id:taketyan

ご紹介ありがとうございます。

しかし、残念ながら私は Ubuntu Linux をメインに使っているので VC++ はちょっと ... というところです。

質問に明記しておくべきでした。申し訳ないです。

2010/12/21 22:46:08
id:tama213 No.2

tama213回答回数486ベストアンサー獲得回数302010/12/21 22:56:10

ポイント18pt

新版 明解C++ 入門編
柴田 望洋
4797354542

お勧めはこれです。

サンプルプログラムが250個ほどあります。順番にこれを見ていくことにより理解する本です。

C言語の素養がないのなら、C言語の本もみたほうがよいかもしれません。

オブジェクト指向といっても、かなりC言語の要素が含まれています。

「Ruby, Python, PHP, JavaScript 」とは言語的な性質が違います。

id:taketyan

ありがとうございます。

私のイメージでは「C は手続き型」「C++ はオブジェクト指向」という理解だったので、

慣れ親しんだオブジェクト指向の方が理解しやすい、と思っていたのですが、

やはり C 言語も避けては通れないということですかね ...

2010/12/21 23:07:29
id:a-kuma3 No.3

a-kuma3回答回数4440ベストアンサー獲得回数18242010/12/22 01:05:46

ポイント18pt

期待してるのとはちょっと違うかもしれないけど、GoF のデザパタ本か、これかなあ。

Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

  • 作者: スコット・メイヤーズ
  • 出版社/メーカー: ピアソン・エデュケーション
  • メディア: 大型本


どちらもコードの断片しか書いてないのだけれど、他の Objective な言語に対しての c++ の勘所って、

  • メソッドの virtual や、演算子のオーバロード

  • デストラクタ

  • テンプレート、だったり、STL だったり

という気がする。


最近の仕事的には、java だったり javascript なんかがメインだったりするのだけれど、気が付くと c++ と比較している自分がいる。

やっぱりプロなので、コントロールできない GC よりは、手間がかかるけどコントロールできるデストラクタかな。

id:taketyan

ありがとうございます。

Effective シリーズはよく聞きますね。

Amazon で見ると「中級者向け」とされているのが気になりますが、実際に本屋で手に取って決めようと思います。

2010/12/25 15:02:57
id:online_p No.4

online_p回答回数1153ベストアンサー獲得回数592010/12/22 04:40:31

ポイント18pt

これがいいと思いますよ。一応学習本にもなっているんだけど、索引から辞書的にも使うことができます。実際のソースを読みながら学習するのに適しています。Cの知識はいりません。

http://d.hatena.ne.jp/asin/477410843X

id:taketyan

ありがとうございます。

Amazon のレビューを見ていると、「本当に初心者でもはじめられる」といったコメントがついていて、気になりますね。

あとは学習の形式が自分の好みに合うのかを見ながら検討しようと思います。

2010/12/25 15:03:06
id:k-tan2 No.5

k-tan2回答回数401ベストアンサー獲得回数482010/12/22 11:44:42

ポイント18pt

独習C++ 第4版
ハーバート・シルト 神林 靖
4798119768

C++0xを考慮して書かれてるので、これから買うのならお勧めです。

id:taketyan

ありがとうございます。

これはかなり新しい本のようですね。

Amazon のレビューがついていないので実態が見え辛いのですが、

内容も充実していそうで、気になります。

まずは本屋で眺めてみようと思います。

2010/12/25 15:03:13
id:SweetSmile1978 No.6

SweetSmile1978回答回数189ベストアンサー獲得回数292010/12/22 16:17:49

ポイント18pt

C++ は C にオブジェクト指向を追加した物で、

手続き型のプログラミングもできるマルチパラダイム言語です。

オブジェクト指向になれているとしても

C++でのオブジェクト指向プログラミングは

なかなか難しいかもしれません。

C++はクラスあたりにはまりやすい部分があるので、

とりあえず文法本きっちり読んでいた方が良いです。

自分は標準講座C++で勉強しました。

けっこうわかりやすくて良い本だと思いますが、

最初の標準規格ができた頃の本なので、

ちょっと古めです。

日本語だと最近では

ロベールのなんとかってのがいいようです。

英語ができるのであれば、

C++ Primer plus 5th Edition かなと思ったりもします。

望洋本はおすすめしません。

C++を学ぶためにはじめて買った本が望洋本でしたが

章構成や中身の推敲もろくにしていない糞っぷりに

挫折してしまいました。

C言語の本は秀逸らしいですが。

id:taketyan

ありがとうございます。

ロベール本もよく聞きますね。

> とりあえず文法本きっちり読んでいた方が良いです。

私はこれが本当に苦手で ...

とりあえず動くものを写経して、気になる文法があったり、ハマったりしたら調べるぐらいで。

しかし、文法本も手元に置いておくのはよさそうですね。

2010/12/25 15:03:16
id:Kumappus No.7

くまっぷす回答回数3784ベストアンサー獲得回数1852010/12/22 20:03:49

ポイント18pt

C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series)

C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series)

  • 作者: ハーブ サッター アンドレイ アレキサンドレスク
  • 出版社/メーカー: ピアソンエデュケーション
  • メディア: 単行本

目的からかなりハズレてしまうかもしれないんですが、C++ Coding Standardsは必読本。

単純にいうと「これはやってはいけない」「こうしたほうがいい」という項目を各数ページずつにまとめてある本です。

 

用語解説があるわけでもないので最初から理解するのは難しいと思うんですが世に出ている「入門本」の中には簡単に(悪い言い方をすると強引に)説明を進めるためにひどいサンプルコードや題材を載せているものも多いですし、何より「流儀」や「お作法」について述べたものはほとんどありません。

ですので、副読本として特に「設計スタイル」や「コーディングスタイル」の章は読んでおくほうが後々の勉強が楽になると思います。

id:taketyan

ありがとうございます。

これはおもしろそうですね !

Amazon のレビューを見ても絶賛で、ワクワクします。

> 目的からかなりハズレてしまうかもしれないんですが

そうですね、入門書として買うべき本ではなさそうですね。

ですが、次以降に機会があれば検討してみます。

2010/12/25 15:03:20
  • id:tdoi
    スクリプト言語をよく使われるということですが、質問文から判断すると、スクリプト系言語でのオブジェクト指向のみ利用されているか、オブジェクト指向は概念としてのみ理解しているのかと思います。
    経験がある方であれば文法というよりも、その言語での記述のコツと有用なライブラリの使い方が重要なのかと思います。そんな観点から言えば、

    実践的なオブジェクト指向を見るには、a-kuma3さんが挙げていらっしゃるGoF本をおススメします。
    C++で注意すべき点という意味でも、Effective C++、More Effective C++と読み進めてもいいと思います。
    トリッキーなコードを見たいのであれば、Modern C++ Designでしょうか。

    ただし、これらの書籍はためになると個人的には思っていますが、入門書というスタンスでもない気がします。
    ざっくりと文法は理解しているならこれらから入ってもいいですが、そこが自信がないのなら、ぺらぺらな内容でよいので、本当の入門書を眺めてからこれらを読むといいかもしれません。

    あとは、一度にC++のすべてを把握するのは難しいと思うので、何をしたいかになってしまいます。
    個人的には、オブジェクト指向が動的な型多層なのに対して、静的な型多層を実現するテンプレートに特化した本も読んでおいてよいかもです。その上でBoostの使い方なんかを見ていくと面白いのではないかなと思います。

    重複する内容が多いので、コメントで失礼します。

    何かの参考になれば。
  • id:taketyan
    > tdoi さん
    とても参考になるコメントありがとうございます。

    > その言語での記述のコツと有用なライブラリの使い方が重要なのかと思います。
    そうですね、まさにそういう観点で本を探していました。

    やはり GoF 本と Effective C++ は人気のようですね。

    テンプレートや Boost についての本は、次回以降に検討してみたいと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません