• 締切済み

c++勉強

今はc++を勉強しています。独習c++って言う本を使って、初級の勉強が終わりました。次の段階として、なんにを勉強すればいいかがわからないです。自分としてはc++を完璧にマスターしたいです。いいアドバイスがあれば、教えてください! 今は独習しています。

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.4

すみませんがひとつお訊きしたいことがあります。 > c++を完璧にマスター どういった状態を「完璧に」マスターと呼ぶのでしょうか? 標準関数やらSTLやらを引数の順序から何から何まで「暗記」した状態? それとも勘違いしそうな微妙な仕様の数々を全部把握してこういった掲示板で 披露するようなことができること? そもそもCだとC++は道具なんですから、何かを作りたいものがあって そのために使う道具の使い方を知りたいというのならともかく、 とにかくなんでもいいから「使い方を完璧にマスターしたい」なんてのは わけがわかりません。 K&RのKの人がいっていた言葉だったと思いますが、あるプログラミング言語を きちんと使えるように理解するにはその言語でプログラムを作ってみるのが一番だ といった趣旨の言葉を残しています。 今一度何のために「完璧にマスター」したいのか自問自答してみてはいかがですか。

  • KoHal
  • ベストアンサー率60% (110/181)
回答No.3

>自分としてはc++を完璧にマスターしたいです。 なら「プログラミング言語C++」に目を通してください。 C++を作った人自身による解説書です。 これを読むと「独習C++」はあくまで初級の入門書に過ぎないことが分かるはずです。 「C++を完璧にマスター」するためには理解せなあかんことがまだまだ山ほどあります。 だだまぁ、「C++を完璧にマスター」することが必要なのかどうかは別の話ですね。C++の仕様は他の言語に比べかなり大きいので。 とりあえず、今習得した知識で実際にプログラミングをしてみる。 その上で、知識に不足を感じたらまた勉強するってのが現実的だと思います。

xiaosin
質問者

お礼

ご返答、ありがとうございます。 >、「C++を完璧にマスター」することが必要なのかどうかは別の話ですね。 最初、どの言語を撰ぶか、悩んでいました。やっぱり、C++は多く使われているから、c++にしました。

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★アルゴリズムの本の紹介。 ・この『C/C++』のカテゴリで『アルゴリズム』で検索してみて下さい。  そこで書かれているやり取りを読み自分でもいろいろ考えてみて下さい。  あるいはネット検索してアルゴリズムの勉強を行う。 ・過去に何冊かアルゴリズムの本を紹介しているので下のリンクをどうぞ。 過去質問より:  http://oshiete1.goo.ne.jp/qa3082805.html→『アルゴリズム関連の奨めサイトは?』  http://oshiete1.goo.ne.jp/qa2914917.html→『データ構造とアルゴリズム』 お気に入り: ・私のお気に入りの『アルゴリズムの本』は  http://www.amazon.co.jp/dp/4797324198/→『プログラミングの宝箱 アルゴリズムとデータ構造』  です。 ・アルゴリズムの本としては定番の内容ばかりですが、その一部に『多倍長整数演算』があり  前ネットで探したサイトより分かりやすかったです。C++ で用意されている STL はこの本  で書かれている基本アルゴリズムをすぐに利用できるように用意されています。 ・そこで今後の勉強方の1つにご自分で STL と同じライブラリをクラスを用いて書いてみる。  自分で同じような STL を作るのは無駄な気がしますが、もし作れたら完全に STL を使いこなせる  ようにもなります。また、作るにはアルゴリズムのほかに使いやすいクラスの設計方法も学べるはず。 ・アルゴリズムの本を数冊かって読んだ後はそれを使いやすいクラスとして用意(実装)出来るための  実践的な勉強方がいいでしょう。 そこで提案: ・私のお勧めとしては多倍長演算クラスを作成するのはどでしょうか?  整数、実数、指数、虚数、分数などの計算をクラスの継承とかにより機能拡張して  作成するのです。基本クラスに整数演算、派生クラスに実数、指数の計算を行って  これらの派生クラスとしてさらに虚数、分数の計算をするクラスを用意します。 ・また、演算子をオーバーロードして使いやすいクラスのインタフェース設計も用意。  その他、速度面からオーバーロードされた演算子を使わなくても演算が行えるように  メソッド関数でも用意しておくと良い。このときポインタではなく『参照』を大いに  活用します。 ・上記の多倍長演算クラスが出来上がった後は『動作テスト』もかね1つのプログラムを  作成します。ここで作成するプログラムは計算式を入力されたら計算するタイプです。  これをさらに機能拡張して if、else、for、while、switch などの制御文をつけて  ちょっとしたマクロ・エンジン(スクリプト・エンジン)にも使えるようにクラスの  汎用性、拡張性なども検証しながら『多倍長演算クラス』の動作テストを行う。 ・その後、Windows の GUI で普通の電卓、関数電卓、グラフ関数電卓にも組み込めるように  クラスの設計が出来ているか検証もしてみて下さい。 最後に: ・私は電卓が好きだったので『C++』のお勉強としてこんな題材でクラスの継承、設計を  学びました。その後、実際に電卓などを GUI アプリケーションとして作成しました。  よって何かテーマを決めてそれにあったクラスを作成できるように実践的な『C++』の  お勉強方を探して下さい。 ・以上。今後の参考に。

参考URL:
http://www.amazon.co.jp/dp/4797324198/
xiaosin
質問者

お礼

ご丁寧の回答、ありがとうございます。やっぱり実際に作るのが一番ですね。

  • Interest
  • ベストアンサー率31% (207/659)
回答No.1

独習C++,やり遂げましたか! すばらしい。 それではもう、言語仕様に関しては十分網羅されたものと思います。 > 自分としてはc++を完璧にマスターしたいです。 もう、言語を学ぶことより、プログラムを設計、実装することを始めても良いでしょう。英語の勉強と一緒です。英語を学ぶことが目的ではなく、英語を使って本を読んだり手紙を書いたり、会話をしたりして始めて英語を学んだ意味があるのと同様、プログラミング言語を使ってプログラムを書くことに意味があります。 xiaosinさんは、(独習C++を読めたということは)他の言語の経験がおありでしょうか? 無いのでしたら、次は基本的な「アルゴリズムとデータ構造」について学ぶと良いでしょう。また、「オブジェクト指向分析・設計」も、今後プログラムの設計をする上で重要になってきます。この辺りまで勉強すると、ようやく独習C++の後ろのほうに出てきたSTL(Standard Template Library)のありがたみがわかってきます。 初心者レベルで、  プログラミング言語、アルゴリズムとデータ構造、ソフトウェア工学、テスト技法 を学んだら、中級レベルでは  オブジェクト指向分析・設計、UML、デザインパターン を学び、上級レベルでは  要求仕様書の書き方、開発プロセス、CMM/CMMi、プロジェクトマネジメント と進んでいくのが王道なのではないかと思います。 ここで言う上級レベルと言うのは、ソフト屋として仕事をしていくのに避けて通れないものを挙げました。ですので、これらを学ぶのはそういう仕事に就くことが決まってからで十分です。 とにかく、学ぶべきことは沢山ありますし、それらを学んで無いからプログラムを作れないと言うわけでもありませんので、まずはゲームでもお手軽ツールでも簡単なものを作ってみて、設計の必要性やアルゴリズム、データ構造の必要性を感じて見てはいかがでしょうか。 (もちろん、Windowsのプログラムを書くにはWindowsの知識が、ゲームのプログラムを書くにはゲームの知識がひつようです。プログラミングとは別に、ですよ。)

xiaosin
質問者

お礼

すばらしいアドバイス、ありがとうございます。 以前、c言語の初級を勉強しました。そのあとc++です。アルゴリズムとデータ構造に関しては、少ししかわかりません。Interestさんの話聞いていると、これからの勉強にはアルゴリズムとデータ構造が重要になってきます。ですから、アルゴリズムとデータ構造を勉強しよと思っています。この方面のいい本が知りませんか?知れば、教えてください。

関連するQ&A

  • C言語とC++ の独習

    質問させていただきます。 プログラミングに興味を覚え、何もわからずC言語の本をもとに独習している初心者です。ここ3週間で文字出力、変数、演算子、条件文などをこつこつとやっておりますが、なかなか時間がとれず遅々たるペースです。 しかし気の早い私は自分で自分の仕事環境にあった管理ソフトなる物を作ってみたく、VisualC++,NETのソフトを購入しました。いずれにしても独習しかない私ですがC++をやる場合、Cをマスターしてからうつる方が良いのでしょうか? 同時に頭に入れていく方法は困難でしょうか? 率直なアドバイスをいただければ…と思います。よろしくお願いいたします。

  • C++について

    C++について C++を学ぼうと思って入門書を探しています。 今までにC++、オブジェクト指向はやったことがありません。 C言語は初級と中級の間ぐらいの知識です。現在は独習Cを読んで、理解を深めています。 VC++を理解したいと思って業務(ツール)のソースや構成などを見てもさっぱりでした。 どこから学んでいけばよく分からない状態です。 オブジェクト指向を理解しつつ、C++も習得していってVC++を使えるようになりたいです。 Visual C++〈1〉はじめてのWindowsプログラミング (プログラミング学習シリーズ) が良いと聞いたのですが、C言語を分かっている程度の私が読んで勉強になりますか? もし、他に取っ掛かりやすい本がありましたらお願い致します。

  • C言語の勉強にお勧めの本と勉強法

    C言語を勉強しようと思っています。 たまに言われた最低限のことしかやらないを、 大学生から繰り返し今年からSEという職業に就いてしまいました・・・ 保守運用の方なので0から作ることはないのですが 部署が変わることもあると思うので自分の強みになる言語を ひとつ持っておきたいと思い質問しました。 基本的な文法はだいたい知っているのですが、 いざコーディングとなるとなかなか手が進みません。 毎回そこで挫折してしまっていたのですが やはり経験を積まないことにはコーディングはできないと思うので 適度にソースを組みながら業務で使える程度の技術を 学習していける本がありましたら教えてください。 ちなみに近所の本屋で探してみて、ちょっと堅いみたいですが 独習Cという本がありましたがこれはどうでしょうか? それからjolt awardsに選ばれた本を調べてみたのですが 全く違う次元の本という感じがしました(笑) またSEの方で勉強法など何かアドバイスありましたら よろしくお願いします。

  • C言語を勉強し始めた初心者です

    C言語を勉強し始めて、そろそろ1週間ぐらいになります。勉強は「独習C」という本と、ネットを参考にしながら進めています。 そこで質問なのですが、 getchar()やscanf()などの部分を見ると 「ラインバッファ」が使用されている という記述 があるのですが、概念がよくわかりません。 ググってみたりもしたのですが、いまいち 私自身が納得できる回答が得られないでいます。 よろしければ、初心者にわかるように 説明していただければと思います。 よろしくお願いします。

  • C語を勉強したいのですが・・・・

    どうもPCヲタクの高校生です。 C語を勉強したいのですが、おすすめの本はありますか? できればサンプルプログラムが多く載っている本がいいです。 なぜ勉強したいかというと、 Cをマスターし、群馬県立太田フレックス高校代表としてパソコン甲子園2009へ出たいからです!

  • 3週間でC,C++,VC++の勉強を済ませるのですが・・・

    こんにちは。 私は、未経験でプログラマの職に就いた者です。 会社より、まずは勉強をしてほしいとのことで、 第1週 : 独習C(第3版 翔泳社)で、C言語の勉強 第2週 : 独習C++(第3版 翔泳社)で、C++の勉強 第3週 : MSDNライブラリのVisualC++チュートリアルで、VC++の勉強 というスケジュールで、勉強しています。 今は第3週の2日目ですが、なかなかはかどりません。 上司は、「これから先に実践で必要なことを覚えてもらうけれど、その基本を身に着けてもらいたい」と言っていましたし、 時間の関係もあるので、それぞれの項目の内容をほぼ理解できるまで読み、 例題などは極力とばして進めてきました。 そして今週VC++の勉強に入ったのですが、MFCなど新たなものが沢山でてくるし、 今までの本と違いMSDNライブラリは初心者の私にはあまり親切ではなく、プログラムの全体を把握することができずに頭がこんがらがってきています。 上司は別の場所で働いているのでなかなか意思の疎通がとれず、 勉強の指針など話す機会に恵まていない状況です。 そこで経験者の方に質問なのですが、 MSDNライブラリ以外に副読本として役に立つ本や役立つサイトなどオススメはありませんでしょうか? また、この3週間のスケジュールで求められていることは、おおまかな全体の把握以外に、具体的にどのようなことと思われるでしょうか。 (例えば、このスケジュールで勉強するならVC++の~の事は重点的に覚えておいてほしい、など) 曖昧な質問で申し訳ありません。 この質問内容では不十分であれば指摘していただければ補足しますので、 どうぞよろしくお願いします。

  • C++ おススメ!!

    C++の勉強をしようと考えているんですが。。。 なんせ、参考書がありません(T。T) おススメの本とかありますか?? 独習~とか、絵本シリーズを考えていますm(_ _)m よろしくお願いします。 あと、Cygwinを使っています。C++でのコンパイルの仕方を教えてくださいm(_ _)m Cのやり方は知っていますw

  • c++の勉強について

    私は、高校2年です。 高校1年の1月から独学でプログラミングの勉強を始めて(私の高校は進学校で、プログラミングなどは授業では一切取り扱われないので・・。)、順調に進めてきました。 最初は、明解C入門編、次に、明解C中級編、そして、つい最近、やさしいC++という本をやりました。でも、この本は結構やさしい方だときいたので(確かに半分以上がCの入門で覚えたことと変わりませんでした。)、もっと深く学習するために本を探していました。 自分が考えたのは、ロベールCの++とかが良いかとは思ったのですが、意見が色々あり、どのような本がよいか、よくわからなくなってしまったので、みなさんの意見を参考にさせていただきたく、質問させていただきました。 どうかよろしくお願いしますm(__)m。

  • 勉強法について

    C++の初心者です。先日やっと1冊の初級の本(やさしいC++) を理解しました。 その間、本にかいてあることを応用して 簡単なプログラムを作りましたが、ここの質問 に書いてあることがわかりません。 なんか、次元が違うというか...。 そこでこの後どう勉強していけばいいのかわからなく なってしまったのです。 多分C++の基礎の基礎を覚えたくらいなのでしょうが、 ここで途方にくれてしまう人もいるのではないでしょうか。どうかアドバイスをください。

  • プログラミングC#が難しくて困っています。

    プログラミングをしたいと思い、独習C#を使ってプログラミングの勉強中です。 プログラミングは全くの初心者です。 他の入門書でもそうなのかもしれませんが、論理演算子やビット演算子、配列などの内容が書かれていますが、これらが一体何の役に立つのか分からなくて困っています。 読んでいても理解できないです。 本にケチを付けているわけではないです。 おそらく私にプログラミングのセンスがないんだと思います。 また、この本では、コンソールアプリケーションの説明が多いのですが、私はウェブアプリケーションに関心があります。 基礎だと思って読み進めるべきでしょうか? サンプルプログラムも地道に本の真似をして自分で打っていったほうがいいのでしょうか? わからないことがあってGoogleで調べても、理解できないです。 本当に、プログラミングが難しいです。 独習C#のような本は、全て理解する必要があるのでしょうか? 質問が多くなって申し訳ありません。