まず第一に、私は本当の答えを持ちたいです、私は常にさまざまなソースや記事からもっと多くを得ようとします、そしてC ++のようなものを読むとき、それは仮想関数を持ち、このCが優れているので、私は本当に何を言い、頭脳を持つ人間として考えるかわからない。回答でこのレベルに到達しないようにしてください。
私の質問は、Coomへの大規模な切り替えで、Doom 3でほぼ完了しました。
私にとって興味深いのは、このマイルストーンの前に、ほとんどのゲームエンジンとゲーム自体が、Quake時代以来のようにCで書かれていたことです。また、IDソフトウェアがIdTech 4のコードベースをC ++で完全に書き換えることを決定したことに注意するのも興味深いことです。これは、本当に良い理由のリストなしでは理解できない膨大な量の作業です。
私は主にOpenGLの世界に興味があり、私はこのトピックに集中しようとするので、Doom 3に焦点を当てています。したがって、私はこれについて多くのことを読みますが、そのような質問はrender-API -あまり問題のない不可知論者。
ある特定の時点で、業界が大規模にC ++に切り替えたのはなぜですか?IDが選択した理由は何ですか?
最後に言いたいのは、C ++は実装が非常に簡単で、提供する機能の数が少ないことです。これは、C ++が実際に頻繁に行うのとは異なり、断片化される可能性がはるかに低いためです。簡単に言えば、すべての機能が適切に実装された優れたC ++コンパイラではなく、本当に優れたCコンパイラを見つける機会がはるかに多くあります。
たとえば、Android向けNDKは、最新の優れた機能をすべて備えた(r8bリリースの)C ++サポートがまだ十分ではなく、世界で最も人気のあるモバイルOSのネイティブツールキットです。
世界で最も人気のあるOSの1つが立ち入り禁止になっているため、コードを最新のC ++で記述していたとしたら、おそらく今苦痛を感じるでしょう。また、Androidのように、他の多くのコンパイラーはそれほど優れていません。
2-3リリース古いC ++バージョンを参照するC ++コードを書く必要がありますか?