C++初学者の学習方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
chop.chop
記事: 36
登録日時: 4年前

C++初学者の学習方法

#1

投稿記事 by chop.chop » 4年前

いつもお世話になっております。

現在、自分はC++の学習をしているのですが少々行き詰まりかけています。
今まで経験のある言語はCとjavaで、ある程度プログラムは書けます。オブジェクト指向やポインタの理解もしている(つもり)と思います。
こちらのサイトを一通りやったのはいいのですが、その後何をすればいいのかと悩んでいるところです。
http://www.asahi-net.or.jp/~yf8k-kbys/newcpp0.html

もし何かを作りたいという目標があるのならとりあえず作ってみればいいとは思うのですが、現在特にそういうものが無くただ「いつの日かC++を使うことに備えてスキルを身につけておきたい」という心境です。(C++のアンサイクロペディアを見て厨二心をくすぐられたのは否めませんが)

また、書籍に関してなのですが、以前どこかで「ロベールのC++」という本が非常に良いと薦められていました。そこでアマゾンで見てみたのですが900ページ越えで値段も4000円と学生にはポンと出せる金額では無いため、もしお持ちの方がいらっしゃったら意見を下さると嬉しいです。

アバター
みけCAT
記事: 6216
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: C++初学者の学習方法

#2

投稿記事 by みけCAT » 4年前

複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

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

Re: C++初学者の学習方法

#3

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

CやJavaでもそうですが、ある程度使いこなすには、ちゃんと設計した何十万行の実用的なコードを書かないと実用レベルとはいえません。
それとCとJavaの実力が十分高いなら、C++特有の問題だけをやれば済む問題とも言えるかと思います。
なので中途半端に色々手を付けているなら、まずCとJavaをちゃんと使えるようになるべきです。そうすればC++への理解も進みます。

【補足】
いろんな言語を知っていても、色んなフレームワークや設計を知らないのでは殆ど役立たないです。
1つの言語で良いので、1万行を超える規模のソースコードのものをまず書いてみてください。そこで初めて見えてくるものがあります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

mitei

Re: C++初学者の学習方法

#4

投稿記事 by mitei » 4年前

そのサイトの内容ではC++の理解には不十分ですね。
ぱっと見でC++スタイルのキャストや名前空間の項目が見当たりません。
C++はバージョンが上がってC++11以降が主流となりつつありますし、C++の優秀な標準ライブラリについても知っておくべきです。
プログラミング全般に言えることですが、なるべく新しい情報を探すようにしましょう。どうやらそのサイトは2003年からあるようで、流石に古すぎます。ロベールもWeb版がありますが、2002年からあるということでかなり古いです。

C++の入門用ではありませんが、比較的新しく情報が正確なページとして以下をあげておきます。
ただし、非常に長いので流し読みしつつ分からない部分をしっかり読む、という形が良いでしょう。
http://ezoeryou.github.io/cpp-book/C++1 ... ture.xhtml

C++標準ライブラリの日本語のリファレンスとしては以下がおすすめです。
http://cpprefjp.github.io/

chop.chop
記事: 36
登録日時: 4年前

Re: C++初学者の学習方法

#5

投稿記事 by chop.chop » 4年前

お三方とも返信ありがとうございます

>>みけCATさん
こういう便利なサイトがあったんですね……是非活用させていただきます

>>softya(ソフト屋)さん
Cかjavaで大規模なプログラム…ですか
今までCとjavaで書いたものでは高々500行くらいしか無いので、イメージしづらいです
自分の環境は、CとC++はUbuntuのvimでコーディングしてg++コンパイラでコンパイルを、javaの方はWindows7のEclipseを使っています
フレームワークはおろかライブラリも標準のもの以外は触ったことがなく、開発のイメージがつきません
javaならともかく、Cで何か大規模なものを作ろうとするのであれば今の環境で大丈夫でしょうか?

>>miteiさん
ロベールの書籍版はいったん買うのをやめといて、いただいたurlを使用してみようかと思います
C++11以降が主流になりつつあるのですね
boostを理解しておく必要は無いのでしょうか?付け焼刃知識でアレですが、処理系の中にはC++11以降に対応していないものがあるとかないとか

mitei

Re: C++初学者の学習方法

#6

投稿記事 by mitei » 4年前

boost については巨大なのですべて学ぶ必要はないでしょう。どういうライブラリが含まれているかをざっと目を通しておくぐらいで、あとは必要になった時にドキュメントを読むなりして調べれば良いと思います。
主要なものは既に標準ライブラリに取り込まれていますし、まずは標準ライブラリを。それで足りなくなったら boost に手を出せば十分です。

GCC や Clang は C++11 に対応し、C++14 対応も進んでいますが MSVC の実装状況にはまだまだ穴がありますね。もうMSVCはどうしようもない子なので…諦めましょう。でもまぁ、それなりには使えます。

閉鎖

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