1.C++を利用するにあたってどの程度Cを理解しているとコードが読めないプログラムを書けない等の弊害が出ない若しくは減少できるのでしょうか?
2.C及びC++の辞書的な利用ができる本でお勧めのもの等ありましたら教えていただけませんでしょうか?
3.テキストでは得にくいプログラミングやその周囲の情報(雑学等でも構いません)お勧めの書籍等ありましたら教えていただけませんでしょうか?
現在プログラミングに興味が湧き、C++を初学者向けのテキストで勉強していいます。
(現在使っているテキストではC言語の話が少なくなんとか学習できています)
多くのテキストがC言語学習者を対象としているため、実際どの程度C言語を理解している必要があるのか尋ねたく質問いたしました。
読みにくいとは思いますがどうか回答よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
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++のようなオブジェクト指向言語ではクラス設計の出来不出来がかなり影響してくるので注意してください。
丁寧かつ迅速な解答ありがとうございます。
互換性のお話は初めて聞くもので目から鱗でした。
お答えにあった辞典等を買い求め、引き続きC++の学習をしていきたいと思います。
蛇足ではありますがジェリー・ワインバーグ先生の本で特に気に入っていた「ライト、ついていますか」が載っていたことに思わず驚きました。あの本を読んでおきながら自分で問題を増殖してるあたり困り果てたモノです。
No.3
- 回答日時:
C++の入門書であれば、Cを知らない人向けに書かれているものも多いと思いますが。
説明が全くないとしたら、以下のようなことを理解しておけばいいと思います。
・includeの仕組み
・関数
・forループ
・while/do whileループ
・if分岐
・switch分岐
・加減剰余やビットシフトなどの演算子
・マクロ
・ポインタ
・配列
もしこのあたりに自信がないようでしたら、こういったものも含めて説明している
C++の入門書を探されるといいと思います。
あえてCではなくC++を選ばれているということは、オブジェクト指向に
興味がおありなのかと思います。
個人的には、オブジェクト指向の学習にはC++はあまり向きません。
ちょっと複雑すぎるんですよ。
多重継承や演算子のオーバーロード、イテレータやテンプレートなど、他のライトな言語では
実現できないものも多く、個人的には好きですが入門用には感じません。
全部習得するのに1年から5年(適性による)くらいかかるんじゃないでしょうか。
プロでもちゃんと理解していない方が多いです。
もうちょっとライトな、JavaやC#の方がいいような気がします。
具体的な項目のリストに加えて今後の指針になるようなお話まで本当にありがとうございます。
せっかくココまで具体的なアドバイスも頂けたのでもう少し学習してみたいと思います。
それでも駄目な場合にはサンクコストにして紹介にありましたJavaかC#に手を出してみます。
No.2
- 回答日時:
完全に互換性がないためC言語のそのまま真似すると害のある部分もありますが、世の中のサイトの情報でC言語のものが溢れているとか、有用なライブラリでC言語のものがあるのも事実です。
なので読む時や参考にするときにC言語とC++の違いを知っておいたほうが思わぬ落とし穴に陥ることを避けることができます。
「C++プログラマのためのC言語入門 | 株式会社きじねこ」
http://www.kijineko.co.jp/tech/cpp2c
素晴らしい解答とサイトを紹介して頂きありがとうございます。
現実問題としてC言語の蓄積が利用できる事には初心者の私でも大きなメリットに感じます。
Cから流用する際には解答にありましたようにそのまま真似しないよう意識したいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 国家公務員・地方公務員 公務員試験の数的処理で苦戦しています。 1 2023/01/30 08:56
- 大学・短大 早稲田大学基幹理工学部で使用する教科書 4 2022/11/13 20:55
- 弁護士・行政書士・司法書士・社会保険労務士 宅建等の法律関係の勉強法について 2 2022/06/23 01:10
- 宇宙科学・天文学・天気 AIが答えた方程式 1 2023/02/20 00:12
- 簿記検定・漢字検定・秘書検定 簿記3級を独学で勉強した人に質問です。 どうやって勉強しましたか?私は今独学で勉強中ですが、なかなか 3 2023/01/25 00:01
- 数学 C言語と将来性 7 2022/10/13 16:49
- 物理学 アインシュタインの質量とエネルギーの等価性(E=mc²)って間違ってますよね? 4 2023/01/14 13:29
- IT・エンジニアリング ITエンジニアの勉強時間や勉強方法について 初めまして閲覧いただきありがとうございます。 当方25歳 4 2022/06/09 18:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
String^の^自体が何を意味して...
-
VB と VC++ と VC#の違いは?
-
Ps+のフリープレイでDestiny2の...
-
Windows Media Playerを開くと...
-
本格的なGUIを作るのにおすすめ...
-
マウスのクリックを自動で
-
Google ColaboでGUI作成
-
scipy っていうのをいれようと...
-
python urlopen error について...
-
ISOイメージの作成方法について
-
boostのアンインストールについて
-
Dreamweaverのライブラリが反映...
-
自作ゲームについて。
-
ヤフー知恵袋みたいなサイトを...
-
強化学習の環境作成、AI。自動...
-
C言語について。
-
月額15,000円のプログラミング...
-
【iTunes】CDをiPhoneに取り込...
-
VB.NET とドットNET(.NET...
-
関数ライブラリ一覧
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
String^の^自体が何を意味して...
-
なぜHTMLのソースコードが無料...
-
HTMLってホームページ以外どん...
-
VB と VC++ と VC#の違いは?
-
iOSゲームアプリが作りたいと思...
-
VC++とVC#の違いを教えて下さい
-
VB.netってどうやって勉強しま...
-
VBAとvisual basicの違い
-
VB6から新しいvbに切り替えたい。
-
C#とc++の違いは何がありますか...
-
独学でC++
-
WordPressのサイトをオリジナル...
-
動画再生ソフト?(メディアプレ...
-
Microsoft Visual C++.net Stan...
-
clock_gettimeでミリ秒の時間差...
-
プログラミング言語の選び方を...
-
asp.net VB、HTML
-
C言語を独学でマスターした人。。
-
3つの言語をマスターしたい
-
基幹システムからデータを抽出...
おすすめ情報