Objective-Cでの静的型付けのパフォーマンス上の利点はありますか?安全性チェックのためだけに存在しますか?Objective-Cでの静的型付けのパフォーマンス上の利点
答えて
はい、安全確認用です。
Objective-Cメッセージ(メソッド呼び出し)は、実行時に常に動的にディスパッチされます。追加の静的型情報を追加すると、コンパイラがエラーを警告するのに役立ちますが、(ほとんどの場合)生成されたコードには影響しません。 http://en.wikipedia.org/wiki/Objective-C#Dynamic_typing
これはコンパイラによって異なりますか? – Gabe
静的な型付けが生成されたコードに影響を与えないことは完全には真実ではありません。複数の同一のセレクタが異なる型を返すことは可能です。この場合、レシーバの静的型付けによって、objc_msgsend_stret()またはobjc_msgsend_fpret()などの使用するobjc_msgsend()の特定のフレーバが決まります。 –
@Jay - 良い点;それに応じて編集します –
- 1. Java Singletonと静的 - 実際のパフォーマンス上の利点はありますか?
- 2. Java静的型付け
- 3. ObjectiveCの静的変数
- 4. JPA多型の関係、静的および動的型付け
- 5. 静的列挙型と静的構造体の相違点
- 6. Python3で静的メソッドの戻り型に注釈を付ける
- 7. VBAの変数宣言のパフォーマンス上の利点は?
- 8. Angularのコンポーネントスタイルカプセル化にパフォーマンス上の利点はありますか?
- 9. どの変数静的型付け作業
- 10. JSON上でParcelableの利点
- 11. プライベートメンバーはパフォーマンス上の利点を追加しますか?
- 12. 静的関数の利点は何ですか?
- 13. Pythonの静的型付きコンストラクタ?
- 14. 静的型付き言語のライフサイクルメソッド
- 15. クラス構築のための静的関数の利点
- 16. C++の静的メソッドのみを持つクラスの利点
- 17. pythonで静的型付けを強制する方法
- 18. リクエストパラメータの静的な最終文字列の利点?
- 19. DefaultControllerFactory.CreateController上のIControllerActivatorの利点
- 20. ベクトル上のスライスの利点?
- 21. ビットマップ上のビットマトリックスの利点
- 22. PWAのビジネス上の利点
- 23. 10,000静的キューブのOpenGLパフォーマンス
- 24. ハイパーVとバーチャルボックスのパフォーマンス上の利点はどれくらいですか?
- 25. "静的" ASPXファイルのOutputCacheに利点がありますか?
- 26. どのようにプログラムがプリミティブのランタイムのタイプの静的型付け言語
- 27. 静的ライブラリのソース索引付け。 Perforce
- 28. 静的要素の位置付け
- 29. erlangでの静的型チェック
- 30. 静的なボタンのイベントを動的に割り当てることの利点
objcに静的な型指定はありません。すべて動的です。 静的言語が必要な場合は、C++を使用します。 –
@ RichardJ.RossIII:それは本当ですか? Objective-Cの入力規則は、Appleドキュメントのとおり、Static、Dynamic、Weakです。あなたは明確にしていただけますか? – Chandu
@Chanduはランタイムには、すべてが単なるオブジェクトであり、 "タイプ"という概念はありません。あなたは、(おそらくブロック以外の)任意の型にポインタをキャストすることができます。そして、それはクラスに基づいて正しいメソッド実装を呼び出します。さて、このうちのいくつかはARCの方が厳しくなりましたが、ほとんどの場合、言語の唯一の「静的な」部分はコンパイル時に警告として行われ、実行時に*決して*失敗しないキャストで修正できますJavaやC#のような「真の」静的言語とは異なります。 –