私はプログラムの方法を教えて数年後に私の最初の本当のC++アプリケーション(2Dゲーム)を作成しようとしています。私が実行している問題は、多くの場合、チュートリアルではしばしば適切なエラー処理技術をスキップする(または最小限に抑える)ことです。エラー処理のしくみを学ぶために、私はCエラーコードとerrno
とその長所/短所を理解しようと試みました。この後、私はC++ 11のstd::error_code
/std::error_condition
を見ましたが、私はerrnoのようなものよりもその重要性と改善を理解するのに問題があります。 std::error_code
のようなものは、正確にはerrno
以上の改善ですか?std :: error_code/error_conditionの利点は?
1
A
答えて
0
errnoは今日のコンピュータでエラーを処理する方法が非常に貧弱です。スレッドセーフではないためです。あなたがゲームを作ってみたいと思うなら、スレッドが必要になるでしょう。
std :: error_codeは、実際にエラーが発生した場合に、それをあなた自身のエラーに変換することができるという改善が追加されました。
https://www.youtube.com/watch?v=w7ZVbw2X-tEをご覧ください。あなたはerror_codeについて多くの賢明さを感じます。
免除の対象については、それらを正しく処理することを確認してください。組み込みシステムでは、がどれくらいの時間かかるのか分からないため、通常は例外的な余裕がありません。より多くのスペースを取ることになります。しかしゲームでは、AAAのゲーム会社は例外を使用しないが、それを行うために独自の特殊な容器を書くことは事実です(例えば、EASTLとWG21-SG14の図書館と議論を参照してください)。 最初のゲームを書く場合は、自分のものを書くことができないため、例外を含む標準的な方法を使用してください。例外がスローされ、それをキャッチしないと、プログラムは終了し、学習が続けられます。
か、少なくともC++ 14や物資が、これは両方のメモリ安全性と脱毛とあなたの問題を削減する機能を使用して、現代 C++を書くために自分自身を教えるようにしてください;)
関連する問題
- 1. C++でのstd :: initializer_listの利点11
- 2. std :: litals :: ..のインラインネームスペースの利点は何ですか? C++で
- 3. std :: setとvsベクトルまたはマップの利点
- 4. 利点
- 5. std :: forward_listよりGnomeのgslistに利点がありますか?
- 6. リアクティブプログラミングでのアグレッシブタイムアウトの利点利点
- 7. 利点は
- 8. lazyloadの利点は?
- 9. スコープブロックの利点は?
- 10. std :: binary_function(またはstd :: unary関数)を継承する利点は何ですか?
- 11. 利点
- 12. 利点
- 13. 利点
- 14. Auth0の利点
- 15. directExecutorの利点
- 16. クラウドコンピューティングの利点
- 17. ルビーセットの利点
- 18. マネージコードの利点
- 19. WTPの利点
- 20. ジェネリックコンストラクタの利点
- 21. リポジトリパターンの利点
- 22. アークオーバーラケットの利点
- 23. self.attributeと@attributeの利点は?
- 24. [HandleError]の利点はApplication_Error
- 25. Python 3を使用する利点/利点は何ですか?
- 26. std :: mutexロック関数とstd :: lock_guardの相違点<std::mutex>?
- 27. HttpModuleとDelegatingHandler - 利点/欠点?
- 28. gwt + grail ..利点と欠点
- 29. このコードでは&&の利点は何ですか?
- 30. SQL - JOINの利点?
だけに注目:既に例外を使用していますか? –
私は、可能なランタイムオーバーヘッドとシングルスレッドゲームのパフォーマンスの必要性のために、彼らから離れて恥ずかしそうにしています。 – Jason
'std :: error_code'はより型保証型です。 – AndyG