プロが教えるわが家の防犯対策術!

1.C++を利用するにあたってどの程度Cを理解しているとコードが読めないプログラムを書けない等の弊害が出ない若しくは減少できるのでしょうか?
2.C及びC++の辞書的な利用ができる本でお勧めのもの等ありましたら教えていただけませんでしょうか?
3.テキストでは得にくいプログラミングやその周囲の情報(雑学等でも構いません)お勧めの書籍等ありましたら教えていただけませんでしょうか?

現在プログラミングに興味が湧き、C++を初学者向けのテキストで勉強していいます。
(現在使っているテキストではC言語の話が少なくなんとか学習できています)
多くのテキストがC言語学習者を対象としているため、実際どの程度C言語を理解している必要があるのか尋ねたく質問いたしました。
読みにくいとは思いますがどうか回答よろしくお願いいたします。

A 回答 (3件)

1.現在のANSI CはC++と厳密に言うと互換性がありません。

ただ、基本的な文法は類似しているので、C言語を学んでおくとC++が分かりやすいかもしれません。しかし、C++を学ぶのに段階的にC言語を学ぶ必要性は薄いと思います(C++の学習の中でもできる)。
2.自分が買った本では「C/C++辞典 」
http://www.bk1.jp/product/03278880
あたりはどうでしょうか。
3.は
「C++クラスと継承完全制覇」
http://www.bk1.jp/product/02220383
「プログラミング作法 」
http://www.bk1.jp/product/01955273
「ライト、ついてますか 問題発見の人間学」
http://www.bk1.jp/product/00486871
「コンサルタントの秘密 技術アドバイスの人間学」
http://www.bk1.jp/product/00736379
「なぜ、あなたはJavaでオブジェクト指向開発ができないのか」
http://www.bk1.jp/product/02496742
「オブジェクト指向における再利用のためのデザインパターン 改訂版 」
http://www.bk1.jp/product/01705361
あたりでしょうか。C++のようなオブジェクト指向言語ではクラス設計の出来不出来がかなり影響してくるので注意してください。
    • good
    • 0
この回答へのお礼

丁寧かつ迅速な解答ありがとうございます。
互換性のお話は初めて聞くもので目から鱗でした。
お答えにあった辞典等を買い求め、引き続きC++の学習をしていきたいと思います。

蛇足ではありますがジェリー・ワインバーグ先生の本で特に気に入っていた「ライト、ついていますか」が載っていたことに思わず驚きました。あの本を読んでおきながら自分で問題を増殖してるあたり困り果てたモノです。

お礼日時:2011/12/28 10:31

C++の入門書であれば、Cを知らない人向けに書かれているものも多いと思いますが。


説明が全くないとしたら、以下のようなことを理解しておけばいいと思います。
・includeの仕組み
・関数
・forループ
・while/do whileループ
・if分岐
・switch分岐
・加減剰余やビットシフトなどの演算子
・マクロ
・ポインタ
・配列

もしこのあたりに自信がないようでしたら、こういったものも含めて説明している
C++の入門書を探されるといいと思います。

あえてCではなくC++を選ばれているということは、オブジェクト指向に
興味がおありなのかと思います。
個人的には、オブジェクト指向の学習にはC++はあまり向きません。
ちょっと複雑すぎるんですよ。

多重継承や演算子のオーバーロード、イテレータやテンプレートなど、他のライトな言語では
実現できないものも多く、個人的には好きですが入門用には感じません。
全部習得するのに1年から5年(適性による)くらいかかるんじゃないでしょうか。
プロでもちゃんと理解していない方が多いです。

もうちょっとライトな、JavaやC#の方がいいような気がします。
    • good
    • 0
この回答へのお礼

具体的な項目のリストに加えて今後の指針になるようなお話まで本当にありがとうございます。
せっかくココまで具体的なアドバイスも頂けたのでもう少し学習してみたいと思います。
それでも駄目な場合にはサンクコストにして紹介にありましたJavaかC#に手を出してみます。

お礼日時:2011/12/28 14:17

完全に互換性がないためC言語のそのまま真似すると害のある部分もありますが、世の中のサイトの情報でC言語のものが溢れているとか、有用なライブラリでC言語のものがあるのも事実です。


なので読む時や参考にするときにC言語とC++の違いを知っておいたほうが思わぬ落とし穴に陥ることを避けることができます。

「C++プログラマのためのC言語入門 | 株式会社きじねこ」
http://www.kijineko.co.jp/tech/cpp2c
    • good
    • 0
この回答へのお礼

素晴らしい解答とサイトを紹介して頂きありがとうございます。
現実問題としてC言語の蓄積が利用できる事には初心者の私でも大きなメリットに感じます。
Cから流用する際には解答にありましたようにそのまま真似しないよう意識したいと思います。

お礼日時:2011/12/28 14:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!