皆さまC++の具体的な勉強方法は?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG読んだ本とか、標準ライブラリのリファレンスを読め、とか。
なんか、いつまでたっても、ポインタ、クラスの話ばかりで、実際にそれがどうプログラミングの実践の中で有効なのか、ぜんぜん見えてこない。。
レベルアップしたい!
0002デフォルトの名無しさん
NGNG00032get
NGNGレベルが格段に違ってきます。
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG何か自分にとって初めてのものを作ってみると、
「これどうやるんだ?」という事がいくつもでてきます。
考えたり文献を調べたり人に聞いたりしてそれを解決する。
そういうのが勉強です。
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009マジレスしてみる
NGNG以下、必読書リスト。全部常備すべし。わからなくても一度は目を通すこと。
プログラミング言語C++第3版 (アスキー)
C++標準ライブラリ チュートリアル&リファレンス (アスキー)
Generic Programming ―STLによる汎用プログラミング― (アスキー)
Effective C++ (アスキー)
More Effective C++ (アスキー)
Exceptional C++ (ピアソン)
デザインパターン (ソフトバンク)
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGコバケンの「これならわかるC++」(ブルーバックスの方)読んだ?
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGそれでまねをしろ、と。
Cすらできない人にもC++やVC++のソースを見て真似しろともいっていたがどうだろう?
0015デフォルトの名無しさん
NGNGソース読むのもいい勉強になるけど、それだけですむようなものでもない。
たとえばソース読むだけで>>9にあげられてる本に書いてあるような
テクニックや体系的な知識を読み取るのは無理。
0016デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1016308148/l50
0017デフォルトの名無しさん
NGNGだよね!
昨日それで知り合いと言い合いになっちゃって。
0018デフォルトの名無しさん
NGNGその知り合いは真似しか出来ないに1票。
自分の知らないテクニックは、真似だけしても、危険なコードになる可能性が高い。
知る、読む、作るが揃ってこそのプログラミングだと思う。
0019デフォルトの名無しさん
NGNGいやー同意してくれる人がいてくれてよかったよー
覚えるには基礎からだよな。
それから真似したりしてテクニック盗むのが(゚д゚)ウマーだな
0020デフォルトの名無しさん
NGNGttp://hp.vector.co.jp/authors/VA000092/jokes/strup.html
0021デフォルトの名無しさん
NGNGがっかりすた。
C萌え
0022デフォルトの名無しさん
NGNG全体の作り方から、
ソース読みながら変更してみたり、判らない所でブレークしてトレースしたり
教科書読みながら、そのキーワードのある部分を触るのが一番速いと思う
0023デフォルトの名無しさん
NGNGなるほど。
自分の作りたいものと似たようなもののソースを見て
そのように勉強すると無駄がなさそうですね
0024デフォルトの名無しさん
NGNGだからそれは (略
00251
NGNG>>all
0026デフォルトの名無しさん
NGNG毎回でてくるリストだけど、情報古いよ。
今なら、Accelerated C++読んどけば、
少なくとも、EffecticeC++はいらない。More..は興味のあるとこだけ
斜め読みするくらいの価値はあるかも。
Exceptional..は買う価値があるかもしれない。
002726
NGNG00289
NGNG情報 tnx。正直、自分でも毎度毎度同じ本を紹介してるとは思ってた。
逆に、Accelerated C++ にしかない情報ってある? あるなら読んでみようと
思うんだけど。
0029デフォルトの名無しさん
NGNG一文字しかスペルミスしていないんだけど、ぜんぜん違う単語に見えた。
0030( ´�D`)ノ
NGNG誰も推薦していないようですが。。。
0031デフォルトの名無しさん
NGNG独習C&独習C++は俺も良い本だと思うよ。
ドリルみたいに理解テストがあって、学習しながら進めるしね。
0032デフォルトの名無しさん
NGNGアセンブラ等をやっておくと、
構造化プログラミングや、オブジェクト指向のありがたみがわかるので、
お勧め。
0033デフォルトの名無しさん
NGNG…あまり評判よくないかな?
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNG実際のトコはどうなのかな?
0036デフォルトの名無しさん
NGNGどういう風に偏るんだろう・・・。
学校でしか習っていなかったら意味ないけどね。
0037デフォルトの名無しさん
NGNG発想がなくなるからヤメレ!っていわれました。
0038デフォルトの名無しさん
NGNGどっちにしろ意味はないから、やめてもやめなくても一緒だと思う。
003926
NGNG自分の学習のためなら、今さら必要ないと思われ。
しかし、後輩を教育(もしくはC++の布教活動)する必要があるなら
ナナメ読みぐらいしとくことをお勧め。
>>30
俺も最初に読んだのが独習C++だったので、思い入れはある。
確かに説明が明解だし。
しかし、あの本のスタイルだと、これからSTLってところで
普通の読者(俺含む)はおそらく息切れなのでは。
だから、文法は厳密に理解してるけど、C++の便利な側面がよく分かって
なかった人にとって、入門書なのに、stringとSTLの使い方から、
解説をはじめてしまうAcceleratedC++のやり口は新鮮なはず。
考えてみれば、低レベル部分の仕様は高レベル部分の使い勝手をよくする
意図で修正されているはずなので、高レベル部分から説明をするのは合理的
だし、多分、そのほうが頭の中で整理しやすいと思う。
デストラクタ、コピーコンストラクタという特定のタイミングで必ず
実行されるルーチンを活かしたプログラミングのノウハウは今のところ
C++特有の文化(だと思う)なので、その部分を解説したスタイルガイドは
重要でしょう。
この特定のタイミングで実行される処理って考え方を拡張していくと、
アスペクト指向プログラミングに行き着くのかな・・・とか思ったり。
AspectC++って使える言語に仕上がるのかな?
最後に、Lokiマンセーってことだけは書いておかねば。
0040デフォルトの名無しさん
NGNG00421
NGNGプログラミングを体得してきた人って皆自分なりのノウハウを持っているからだろうな。
そういうノウハウをつかんでいく作業だけれども、まだまだ暗中模索の状態。
それにしても、インクルードされる標準ライブラリがナゾすぎです。。
どうやって、標準ライブラリ関数は動いてるんでしょうか?
一般的な入門文法にでてくる、書型、クラス、演算子だけを組み合わせれば、あんなに複雑な関数をくみ上げられるんでしょうか?
その辺りが腑に落ちなくて進まない感じですな。
とりあえず、上で紹介してくだすった、標準ライブラリ関連の参考書をゲットしてみよう。
0043デフォルトの名無しさん
NGNG環境があるなら標準ライブラリのテンプレートが見れるんじゃ?
0044デフォルトの名無しさん
NGNGなんか「関数」にとらわれてるような。
どこか根本でまちがってるような気がするのは、気のせい?
0045デフォルトの名無しさん
NGNGというか知らなくてもイイコトだろ?
ある意味商品なんだからソースを知られたら作り手はあまり嬉しくないだろ。
ただこのヘッダファイルを読みこんだらこれが使える程度でいいと思うが。
0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG絶版?
0049デフォルトの名無しさん
NGNGでもわかりやすいホンだったから、しょうかいしたかったんだよぅ。
0050デフォルトの名無しさん
NGNG中古本屋にしか売ってないのかな
0051デフォルトの名無しさん
NGNGhttp://www.sak.iis.u-tokyo.ac.jp/~takashi/abc.html
でも肝心の本が手に入らないんじゃなぁ。
0052デフォルトの名無しさん
NGNG無理みたいだね。
http://shopping.yahoo.co.jp/shop?d=jb&id=19460190
結構評判いいみたいだったのに。
http://piza.2ch.net/tech/kako/992/992593450.html
0053デフォルトの名無しさん
NGNG古本屋を巡ってみよう
0054デフォルトの名無しさん
NGNGちゃんと for (i=0: …… の i のスコープの仕様変更にも対応してるね。
漏れはこれが C Magazine に連載されてたときに連載終了間際に知って、
本買ったんだよな……
当時 Borland C++ 3 手に入れて喜んでた工房だったんだけど、
わかりやすかったよ。
当時作ったクラスライブラリはもう使ってないけど。
だって工房のとき作ったのってありがちな文字列クラスとか、
演算子オーバーロードの練習で作った行列の演算のプログラムとか
だけだもん。
0055デフォルトの名無しさん
NGNG中級にさしかかった人向けの本を。
--------------------------------
C / C++ プログラミング実践応用事典
Anthony Porter 著、竹形 誠司 訳、技術評論社
もいいよ。役に立つテクニックから役に立たないテクニックまで。
あるていど C++ がわかってきて、自分のスタイルができ始めたらよむといいとおもう。
はじめから読むとなんかこの著者のスタイルに引きずられそうなんだよね。
---------------------------------
WRITING SOLID CODE
Steve Maguire著/岡本健太郎訳、264ページ、ASCII
Microsoft Press の本の訳本。
MS 嫌いの人もいるけど、そういう偏見を捨てて読んでみるといいと思うホン。
C++ に特化された話ではないし、マジメ(?)なプログラマや
プロジェクトリーダなら実践しているとおもうけど、
再確認のためにもいいとおもう。
0056デフォルトの名無しさん
NGNG俺はO型のせいか、なんかムカツク題名だな。
0057デフォルトの名無しさん
NGNGおれはC型のせいか、なんかうれしい題名っ!
0058デフォルトの名無しさん
NGNGあんた旧世代の人間?
俺はC++型ですが。
0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGC++primer(アスキー)って本はどう?
プログラミング言語C++第3版 (アスキー)とどっちにしようか悩んでんだが、
どっちのほうが読む価値あるかな?
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGカプセル化とかめちゃくちゃ無視しまくり…。
0064C++万世
NGNG事実認識としては正しいと思うが、一方、
>オブジェクト指向のなんたるかがわかってないのに
なんて書く奴もどうかな。
そんなたいしたもんじゃないのに。
0065仕様書無しさん
NGNG0066デフォルトの名無しさん
NGNGうーん。同じくらいかも。まじで。みんなはちがうの?
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGんなら、1日2、3本は掻いた、いや書いたよ。
#include <iostream>
using namespace std;
int main(){
cout << "万世とはマンセー?" << endl;
}
ほら、また1本。
0069デフォルトの名無しさん
NGNGC++ primer って、なんであんな風に1冊に全部詰め込んであるのかと疑問が湧く。
アンサーブックのほうを見て、良書の予感がしてセットで買おうかと思ったけど、
本体のあの分厚さで萎えた。量が多いなら多いで、話題ごとに分けて、全3,4冊の
本にすべきだったんじゃないかと思う。「分割できなかった」ってんなら、著者の
能力を疑わざるを得ない。だから俺は敬遠した。
けど、前書き・後書きや目次を見たら意見が変わるかも。分厚さで瞬時に萎えたので、
チェックしてなかった(あの分厚さは意図したものかもしれんし。理解しがたいけど)。
推薦図書スレでも薦めてる人は今のところいないみたいだし(否定してる人も
いないけどね)、プロ言にしといたほうが無難じゃないかな?
0070デフォルトの名無しさん
NGNGthx!!デス
推薦も否定もいないとは…
0071デフォルトの名無しさん
NGNG0072ログを見ずにカキコ
NGNG>>65 の言うとおりとにかく書いて慣れることじゃないかな。
関数、ポインタ、クラスとか、基本的なことがわかるまではとにかく試行錯誤。
で、ある程度使えるようになって他人のソースを見て多少理解できるようになって
初めてオブジェクト指向とかカプセル化とかを学ぶ。
すると、今まで不便に思えていたことがこうするとわかりやすいんだ!みたいに
ピンとくるんじゃないかな。
(似たようなクラスを何個も書いてて、継承の概念を知ると感動する)
0073デフォルトの名無しさん
NGNG未だにstroustrupは持ってませんが何か?
0075デフォルトの名無しさん
NGNG98年当時はまともな本が、これとProgrammingC++しかなかった。
ProgrammingC++の方は知ってる通りリファレンス的内容で
初めて勉強するには向いてないのは明らかだったから、
Lippmanを選んだんだよ。間違いやすいところをコードで
示してくれてる辺りはよかったと思ってる。
だけどそれは今となってはねぇ。初学者が手に取る本としては
もっと良いものがあるだろうし、リファレンス的に使うにしては
ちょっと説明がゴテゴテしてる。だから俺は進めない。
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/0201514591/yfcbookshelf-22/250-9307622-8827433
http://www.cbook24.com/bm_detail.asp?sku=01022102
0079デフォルトの名無しさん
NGNGしかしC++のこまごまとした記法を説明するならともかく、
オブジェクト指向を説明するのに分厚い本は要らないと思う。
極めて自然な思考方法なnだから。
0080デフォルトの名無しさん
NGNGそんなの当たり前。
オブジェクト指向については別途勉強するのは当然。
大抵の人がC++が難しいというのは言語仕様の複雑さの
ことを言っているわけだしな。
0081デフォルトの名無しさん
NGNG>言語仕様の複雑
どの辺りの仕様が複雑なの?
0082のほほ
NGNG・多重継承
・friend
・演算子オーバーロード
・テンプレート
・参照型
とかかなぁ。
どれも便利な局面もあるけど。
新しい機能を覚えると
1)どんな場合もその機能を使おうとする。
2)その機能を使わないですむ方法を考えようとする。
3)適切なときにその機能を使えるようになる。
って順番で慣れていくような気がするけど(しないって?)
テンプレートも演算子オーバーロードも使えば便利な局面がある。
friend だって危険だけど「ここぞ」というときがある(気がする)。
とくに演算子オーバーロードに際してだけど。
goto だって longjump だって、
ここぞというときに注意深く使えば幸せなこともあるしね。
C++を勉強する上で、まずオブジェクト指向の基本に沿って
クラスの定義方法、アクセス制限の方法などを理解するには
分厚すぎる本は必要ない、と >77 は逝っているのだとおもわれ。
しかし >1 にとっては物足りないのかもしれないけど。
長文スマソ。
0083デフォルトの名無しさん
NGNG(c=65) += 1;
++c += 1;
とか
0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNGそろそろVC++でも買って実際にアプリケーションを作成してみたいと思ってます。
でも、順番としてはC++とかオブジェクト指向をコンソールでしっかり学んだ後
VC++でアプリケーション製作にはいったほうがいいんですか?
VC++無理やり使ってるうちにC++とかを自然と覚えられるのかなーと思ってるんですが
実際はどんな感じですか?
みなさんの体験談なんかを聞かせてください。
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG一番悪い例っつー。どうにかならんのか。
008885
NGNGそうなんですか?
0089のほほ
NGNGでもさ、ためしに複素数型とかつくってみて、
演算子も定義してみて、あるていどわかってから
iostream の << >> の実装とかをみて
「ふーん」と思うと演算子オーバーロードはほぼマスターとおもわれ。
0090のほほ
NGNGえと、直接 Win32 API たたけば作れます。
とりあえず簡単なお絵かきアプリ
(マウスカーソルでなぞると線が書けるだけ)
とか作ってみると良いとおもわれ。
それでメッセージキューとかの概念をつかんでからでもいいとおもふ。
どよ?
0091デフォルトの名無しさん
NGNGようやくメッセージキューの概念がつかめたなぁ。
普通のアプリ書いてるだけじゃわからんかった
0092デフォルトの名無しさん
NGNG脳か目を医者に診てもらったほうがいいと思われ。
0093デフォルトの名無しさん
NGNGソース読んでたら自然に覚えた。APIも完全C++化されていて美しすぎ。
その後色々触ったけど、Be程美しく、判り易いC++環境は他にないね。
MFCはマジで排泄物。C++の正しい作法を身に付けられるのはBeOSだけです。
0094デフォルトの名無しさん
NGNGAPIがクラスライブラリとして用意されていて美しいというのは、
あくまでライブラリの美しさなんじゃないかな?
0095デフォルトの名無しさん
NGNGBeのネイティブはC++。
おかげで、バージョン間で互換性が無かったり、
サードパーティからコンパイラが用意されなかったり(C++の名前規約に標準がないから)
いろいろ弊害がある。
いっそのこと、C++じゃなくて、新しい言語かもっとまともな言語をネイティブにすればいいのに。
0096デフォルトの名無しさん
NGNGもうBeOSは使ってないが、C++書く時はいつも思い出して参考にしてる。
C++って叩かれるけど、やっぱり使い方だよ。
0097デフォルトの名無しさん
NGNGc++みたいに実装依存がてんこもりの処理系は、
OS書くのにあまり向いているとは言えないよなぁ・・・
0098デフォルトの名無しさん
NGNG>OS書くのにあまり向いているとは言えないよなぁ・・・
意味わかんねー。「実装依存」の「実装」ってOSのことじゃないのか?
それに、実装に依存しない言語でOSを書く?でんでーん。
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNGg++で動くやつきぼんぬ.
0103デフォルトの名無しさん
NGNG質問する時の言葉づかいを勉強することをきぼんぬ
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG届いた。とりあえず Modern からちまちま読み始めたけど、これ、
すげーな。まあ C++ の良書はいつもそうなんだが、何でこう、
毎回毎回、次元の違いに驚かされる話が載ってるんだろうなぁ。
あまりの驚きに、泣きたくもなるし、笑いたくもなるし。どうすればいいんだ。
いったいどんなノーミソもってたら、こういうことを考えつくんだろうな…。
とりあえず「ポリシークラス」。すげぇ。感動ちまちた。けど、
継承が多くなりそうだから、Effective C++ や Exceptional C++ で
主張してある「public継承はひかえませう」と相反するから、
使いどころが難しそうな感じ。バランス感覚をやしなわなぁのぅ。
ていうか、標準もしくはセミ標準クラスのスペシャリスト人間が
作ったポリシーを使わせてもらうっていうのが正解か?
0106デフォルトの名無しさん
NGNGprivate継承はアップキャストに注意って話じゃないか?
0107105
NGNGよく見たらpublic継承のことは書いてなかったな。
■ このスレッドは過去ログ倉庫に格納されています