超初心者でもc++のお薦めの本

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
tyutyu

超初心者でもc++のお薦めの本

#1

投稿記事 by tyutyu » 12年前

Cの本はいくつかもっているのですが、C++の本をもっていません。
お薦めの本があれば教えて下さい。
プログラミングは初心者同然です。

box
記事: 2002
登録日時: 13年前

Re: 超初心者でもc++のお薦めの本

#2

投稿記事 by box » 12年前

Cの初心者であると自称されている質問者さんが
C++にまで手を広げるのは、「今はまだ」早いような気がします。個人的には。

「二兎を追う者は一兎をも得ず」ということわざもありますし、
まずはCをマスターすることを意識なさってはどうでしょう。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: 超初心者でもc++のお薦めの本

#3

投稿記事 by softya(ソフト屋) » 12年前

tyutyuさんに取ってC++である必要性は何でしょうか?
人によって色々意見があると思いますが、慌てずにC言語を取得してから移っても支障はないと私は思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
GRAM
記事: 164
登録日時: 13年前
住所: 大阪

Re: 超初心者でもc++のお薦めの本

#4

投稿記事 by GRAM » 12年前

まぁboxさんとsoftyaさんはああおっしゃっていますが、自分はC++から初め、今でもまともにCでは書けない人間です。
どれくらいC言語を知らないかというと、printfの詳しい使い方や、ファイル操作の方法を知らないくらいC言語を知りません。
というかそもそもC++のどの機能がCで使えないのかを知りません。Cのどの機能がC++で使えないのかも知りません。
しかしC++では難なく書けます。これは極論であって、自分が勉強をサボった結果なわけですが、言いたいことはC言語を知らなくてもC++は書けるということです。
ぶっちゃけCとC++は全く別の言語なので、むしろC++を学ぶにあたっCの知識はかえって邪魔になるような気もします。
あくまでも個人的には。自分がそうやって勉強したというだけですから。

ロベールのC++講座で学び始めましたが、構文を覚えるには十分だと思います。
ただ一言だけ付け加えておくと、C++から始めて、混乱せずに書けるようになるか否かは頑張りによると思います。
Cを学ぶよりは難易度が高いかもしれません。(中途半端にC++のCの部分ばかり使うくらいならCのほうがいいと思いますし。)
またCと並行してC++を勉強するのはお勧めしません。(似てるようで似ていない言語を同時に学ぶのは混乱すると思うからです)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: 超初心者でもc++のお薦めの本

#5

投稿記事 by softya(ソフト屋) » 12年前

GRAMさんがC言語を知らなくて困ることは何でしょうか?
結構C言語で書かれたサンプルなどがサイトになどに転がっていたり、オープンソースなどはC言語だったりしますけど。
龍神録などもC言語ですね。

つまり、何をしたいか次第では困ることもあるんじゃないかって話なんですけどね。
[補足]私はC⇒C++なので、C++Onlyの人からC言語のサンプルとかは、どう見えているんだろうってお聞きしたいだけなんです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
GRAM
記事: 164
登録日時: 13年前
住所: 大阪

Re: 超初心者でもc++のお薦めの本

#6

投稿記事 by GRAM » 12年前

softya(ソフト屋) さんが書きました:GRAMさんがC言語を知らなくて困ることは何でしょうか?
結構C言語で書かれたサンプルなどがサイトになどに転がっていたり、オープンソースなどはC言語だったりしますけど。
龍神録などもC言語ですね。
そうですね。なかなか答えにくい質問ではありますが。
まずサンプルについては問題ないです。
たとえばCに限らずC#だろうがJavaだろうがActionScriptだろうが文法が近い言語は
その言語を知らなくても「だいたいの意味を理解することができます」

これはおよそ伝わるかと思います。
サンプルコードなるものはコメントや関数名、変数名などで少なくとも読み手に理解されるように書かれているはずですのでね。
これを脳内で「自分ならC++でこう書くな」と変換してやれば読むのに困りません。
関数等はインプットとアウトプットが分かればいいことも多いですし。
一方書くとなると話は別です。大体の感じでコードはかけませんのでね。
ただ率直な感想としてCのサンプル(によらずコード全般)は読みにくいです。
何がしたいのか自分にとっては不明瞭です。それがCでの書き方だとわかっていても読んでると
「こことかC++ならもっとスマートなのになぁ」とか思っちゃいます。


Cで書かれたライブラリですがこれはものによります。
以前多倍長整数ライブラリを使いましたが、これは使えたものじゃありませんでした。
速攻でC++のコードでラップしてやりましたけど、苦労したといえば苦労しました。
OpenCVや、DXLibraryのようなC++との相性もそこまで悪くないライブラリーは何の苦労もありません。
世の中にはもちろんBoostやIntelTBBのようなC++で書かれたライブラリーもたくさんありますので、代替品やラッパーライブラリがある場合はそっちを使います。
たとえばLuaはLuabindというC++のライブラリーに頼っているので、Cのライブラリーですが苦労なく使えます。

もっとも自分が嫌いなのは
Win32APIとDirectXです。
前者はほぼCの機能のみですし、後者は中途半端にC++ですがやはりCライクなので困ったものです。
使わないわけにもいかないので、ラッパーでラップして極力考える時間を少なくします。

いずれにしてもライブラリーは物によります。自分もC言語に対して無知ほどではないので試行錯誤さえ行えば使えないこともありません。
C++の枠組みでどう使うかを考えることはできますが、しかしどちらにしてもC言語ならどういうコンベンションに従って書くか等はわかりません。
・・・また本心を言えばCのライブラリーはあまり使いたくありません。(物によっては#define等が大量にあって最高にイライラするのでw)
しかしかといって苦労したかと聞かれるとそこまで苦労もしなかったと答えます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: 超初心者でもc++のお薦めの本

#7

投稿記事 by softya(ソフト屋) » 12年前

GRAMさん、ありがとうございます。
確かにC言語歴の方が長い私でもC言語でめんど臭い!って思うこと多々あります。
C言語を知らなくても何とか成るってことですね。

そうですね。
tyutyuさんがゲームを作ろうって場合はサンプルがC言語が多いかも知れなけどC++に移ることは十分に可能です。
アプリケーションを作るのなら、C++で作るほうが良い開発ライブラリやフレームワークが沢山あります。
組み込み分野でマイコンを使うなら、まずC言語をちゃんと勉強したほうが良いでしょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
GRAM
記事: 164
登録日時: 13年前
住所: 大阪

Re: 超初心者でもc++のお薦めの本

#8

投稿記事 by GRAM » 12年前

softya(ソフト屋) さんが書きました:組み込み分野でマイコンを使うなら、まずC言語をちゃんと勉強したほうが良いでしょう。
あぁこれは本当ですね。自分もそのために今Cを勉強しようというところです

閉鎖

“C言語何でも質問掲示板” へ戻る