web-dev-qa-db-ja.com

標準C ++の後に何を学ぶべきか?

数か月前にC++に切り替えて、その構文、STLの主な機能、および「C++の学習」マニュアルで通常見つけることができるものを学びました。

さらに進んでいきたいと思います。あなたのおすすめは何ですか?私は次に何を学ぶべきかを知りたいです(言語についてだけでなく、デバッグ、フレームワークなどについても)私はおそらく答えが各ユーザーの特定のニーズに依存することを知っているので、これが私のリストです:

  • クロスプラットフォーム開発
  • プログラム用のGUIの開発
  • プラグインの使用を可能にする拡張可能なソフトウェアを開発する
  • 科学図書館の利用
  • データベースと対話する(主にMySQL)
  • サーバー/クライアントの機能がある(インターネットを介してプログラムのユーザーに対話してもらいたい...トレーニングではプログラマーではないので、間違った用語を使用した可能性があるので、謝罪します)。

もちろん、時間がかかることは承知していますが、参考になる資料やリソースの一覧を入手したいと思います(本とWebサイトはどちらも問題ありません)。

あなたの助けに感謝します!

6
lucacerone

私がお勧めできることがあるとすれば、それは間違いなくになるBoost C++ Libraries。実際、Boostは単一のライブラリではありません。それはそれらのコレクションであり、それらは高品質でポータブルなオープンソースであり、学生からC++標準委員会までさまざまな人々から高く評価されています。

Boostには、プラットフォームに依存するGUIやその他のものが含まれていないため、Qt、クロスプラットフォームUIフレームワークもあります。 。 Qtは、最近のLinux、Windows、Mac、およびSymbianおよびWindows Phoneプラットフォームのほぼすべてのコンピューティングプラットフォームをサポートしています。 DigiaによるQtの最近の買収以来、iOSとAndroidプラットフォームにもQtを導入する計画があります。そのため、Qtは、間違いなく、あなたが知りたいものです。プラットフォームUI開発。

C++自体についての補足説明。ご存知のように、現在のC++標準は C++ 11 です。 C++ 11は、まるで新しい言語であるかのように感じさせます。新しい機能に慣れるまでには時間がかかるので、あちこちで新しいことを学ぶことに集中することも検討します。特に、スマートポインターなどのいくつかの新しい標準ライブラリの追加は、慣れ親しんでいるものです。難しいというわけではありません。安全のために、重要であるというだけです。

これは正確にはあなたが求めたものではありませんが、C++は広大な言語です。マスターするのは難しいですが、効果的で安全、明白、そして最も重要なわかりやすいコードを生成するには、マスターすることが非常に重要です。率直に言って、スコットマイヤーズのEffective C++およびMore Effective C++をまだ読んでいない場合は、まず読んでみます。確かに、どちらもC++ 11(Effective C++の第4版はそれを行いますが、おそらく2014年くらいに)をカバーしませんが、extremely蜂起しているC++プログラマにとって貴重です。それらを読みます。また、C++コーディング標準ハーブサッターとアンドレイアレクサンドレスクが役に立つかもしれません。

12
zxcdw

BoostとQt(これは良い提案です)に加えて、新しいプログラミング言語を学ぶこともできます。現在、リストに一致する最も人気のあるクロスプラットフォーム言語は、Java、Perl、PythonおよびRubyです(後者の3つは、 GUI開発側のツール)。

新しい言語を学ぶことで、C++の長所と短所についても理解できるので、「ワントリックポニー」になることはありません。

4
Doc Brown