ページ 11

c/c++ はどこで学習すれば?

Posted: 2017年4月25日(火) 00:16
by ckero
標準関数やSTLはどこで覚えればいいですか?

クイックリファレンスや大事な部分だけの紹介する本は数多く見かけますが
全ての機能を紹介している本やサイトはありますか?

例えば自分は入門書やSTLやアルゴリズムの本を持っているのですが
それらにはスレッドなるものは全く触れられていませんでした
なのでスレッドの存在を最近まで知りませんでした
たまたまとある記事を見つけて並列計算ができることを知りました

このように大事な機能しか書かれていないのではなく幅広く紹介されている
本などはありますか?
またどこで全てのSTLや標準関数の知識を得ればいいですか?

Re: c/c++ はどこで学習すれば?

Posted: 2017年4月26日(水) 20:56
by たいちう
回答がこないようなので、僭越ながら、、、(呼び水?)


私の理解では、CやC++の標準的な機能ではスレッドを扱えません。
C/C++でよく使われているスレッド用のライブラリがあるだけです。
標準的な機能のみでもとんでもないボリュームですし、
存在するすべてのライブラリを紹介しているサイトもないでしょう。

(最新のC++においては標準で扱えるらしいです。)
http://postd.cc/c11-threads-affinity-an ... threading/


学習の仕方についてですが、興味を持てる、かつ、自分にとって必要性の高い機能から、
順々に学習するしかないのではないかと思います。
スレッドの存在を知ったきっかけはなんだったでしょうか?
先生や友人から聞いた、技術書やブログで見かけた、などでしょうか。
同じように、いろんな技術を身につけていく過程で、
身につける以上の速さで興味を持てる機能の存在を知っていくのでしょう。

Re: c/c++ はどこで学習すれば?

Posted: 2017年4月26日(水) 21:22
by Dixq (管理人)
それを言い始めたら標準関数やSTLだけでなくC++11やC++14その先のC++17等学ぶ必要のあることは山ほどあるでしょうし、
全ての機能を入門レベルのうちから完全理解しようという姿勢は挫折の元かと思います。
たいちうさんの書かれている通り自分が必要としている機能を必要な時に覚えて行けばいいのではないでしょうか。
有志がGithubなどに提供しているライブラリは山ほどあるわけですし、
この世にあるライブラリを全て学びたいなんて無理な話です。

逆にSTLやC++11の機能でも普段使わないものも個人的にあります。
必要に応じて学べばいいのではないでしょうか。
それでも「学ぶ」という事をしたいのであれば大きな本屋さんに行って自分の気に入る本を探すといいですよ。
最初からオライリーとかに手を出して完全網羅を目標にするより自分のモチベーションのあがる自分にあった書籍を見つけて学んでいけばよいかと思います。

Re: c/c++ はどこで学習すれば?

Posted: 2017年4月27日(木) 00:06
by ckero2
回答ありがとうございますm(_ _)m
お二方の言う通り確かに調べたい時に調べるのがいいと思うのですが
その調べ方を教えていただけませんか?
例えば気になった機能があったならそれをreferenceなどで調べると思います
ですがreferenceより詳しい情報が知りたいと思った時にどこで調べれば良いのか
わからず質問させていただきました
私が標準関数やSTLやクラスなどを網羅している本などを探しているのは
こういった時調べたいと思ったしだいです

Re: c/c++ はどこで学習すれば?

Posted: 2017年4月27日(木) 08:34
by Dixq (管理人)
全てを網羅的に記載した本をという望みであれば辞書のような本になってしまうかと思います。
辞書や電話帳って1ページ目から読んでいきませんよね?
必要なページだけ読むと思います。


特定の必要な情報は、とりあえずネットでも調べられます。
Cの配列をC++で便利に使うにはどうしたらいいか知りたければ「STL 配列」で検索すれば「std::vector」というキーワードが見つかるので「STL vector」というキーワードで検索すればvectorの使い方は学べます。
今時本に頼らなくてもGoogle検索すれば参考になる情報は沢山出てきますよ。

Re: c/c++ はどこで学習すれば?

Posted: 2017年4月27日(木) 09:28
by usao
私はよくここを見ます.

https://cpprefjp.github.io/

求めている物は違うかもしれません(ページの名前自体が "リファレンス" です)が.

Re: c/c++ はどこで学習すれば?

Posted: 2017年4月27日(木) 09:39
by たいちう
ネット利用についての注意としては、情報の質が保証されていないものが多いと言うことです。
言語やライブラリの規格書のようなものは、一番信頼できるのですが、
これらを紹介・解説する個人ブログなどは、読みやすい半面、間違っている場合も少なくありません。

出版された書籍の場合、編集者をはじめとして数人がチェックをしているでしょうが、
それでも、著者の勘違いや理解不足・誤訳などの間違いは残ります。
個人が勢いで書いたようなブログの信頼性には、全く担保がありませんので、
読み手が検証していく必要があるでしょう。

この点に気を付ければ、書籍よりも新しい情報がほとんど無料で入手できます。
私の場合、じっくりと広い分野を学習したい場合は書籍、
ピンポイントで学習したい場合はネット、というような場合が多いです。