もっと実用的に言えば、Objective-C++の下でObj-CコードまたはC++コードだけを含むファイルをコンパイルすると、以前と同じように動作しますか?どのように違うのでしょうか?Objective-C++はC++とObjective-Cの両方のスーパーセットですか?
答えて
多かれ少なかれ、それは本当です。 C++またはObjective-CでコンパイルされたものはObjective-C++コンパイラでコンパイルされます。
しかし、これは真実ではなく、いくつかの動作上の違いがあります。
私は特定の実行時の動作上の違いについて認識していません。その違いは、一般にコンパイル時に現れるべきであり、主にC++の「拡張された」タイプの概念によって引き起こされる問題です。
しかし、オペレータのオーバーロードは非常に問題になる可能性があります。コードの本体で演算子のオーバーロードが頻繁に使用されると、初めてObjective-Cを混在させるときに問題が発生する可能性があります。しかし、やはり、通常、コンパイラの警告としてであり、実行時のバグとしてはめったにありません。
Objective-CはCのみのスーパーセットです。 C++とObjective-C + Objective-C++を混在させることはできますが、Objective-C++と呼ばれることもあります。 http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocCPlusPlus.html
EDITは:これは、開発者のウェブサイトからの引用です:あなたが続いする必要があるすべてのルールを見ることができます。ここ
は、「AppleのObjective-Cのコンパイラは、あなたが自由にC++とObjective-Cのコードを混在させることができます同じソースファイルObjective-C/C++言語のハイブリッドはObjective-C++と呼ばれ、Objective-Cアプリケーションから既存のC++ライブラリを利用することができます。 "
C++とObjective-Cの混在はObjective-C++と呼ばれていますが、これはC++のスーパーセットではありませんが、いくつかのルールを組み合わせて使用できる2つの言語です。 (例えば、継承の際にobjective-cとC++のクラスを混在させることはできませんが、それ以外のものもあります)
有効なObjective-Cコードの例が少なくとも1つあります。Objective-C++:
私が望んでいた答えだvoid SayHello()
{
char* this = "hello!";
printf("%s", this);
}
(誰かが、変数の命名やっているだろうか「この」、私は知らない)
はい。このような小さな鋭いエッジの一握りを思いつくことができます。私は、特定の状況下では、「id」が物事を変えることもできると信じています。 – bbum
- 1. NumberFormatter - ObjectiveC
- 2. ObjectiveCのAMF0パーサー
- 3. ObjectiveCのJSON解析
- 4. ObjectiveC blocks Java equivalent
- 5. iOS ObjectiveC Webservice
- 6. ObjectiveC/Cでフリーダイヤル・ブリッジを実装する方法は?
- 7. ObjectiveCのJava同等のデコード
- 8. iPhone/Objectivec-Cフロート分割誤っ出力
- 9. GCCとObjectiveCコードとCygwinのヘルプ
- 10. 糸くずのエラーobjectiveC
- 11. ObjectiveCの静的変数
- 12. ObjectiveCからのコールバックでC++メソッドを呼び出す
- 13. DarwinとObjectiveC - Cocoaアプリケーションからシェルスクリプトを呼び出す方法は?
- 14. xibファイルからObjectiveCのviewcontrollerに移動
- 15. 左右サイドバー+ tabbarController(IOS Objectivec)
- 16. iOS11 WKWebviewのクラッシュによるObjectiveCでNSInvalidUnarchiveOperationException
- 17. ObjectiveC /ココアScreencapture /クロスヘッドマウスポインタのセレクタのヘルプ
- 18. ObjectiveCのNSStringから改行を分割する方法
- 19. ObjectiveCでクラスを正しくサブクラス化する方法は?
- 20. ObjectiveCでカスタムクラスのデリゲートを実装するときの参照カウント
- 21. objectiveCとswiftライブラリの使用方法Cocoa Pods
- 22. ObjectiveC/iPhoneのTwitPic APIを使用
- 23. 現在の小さなModalVIewController ObjectiveC
- 24. UIViewのフレームを取得する方法 - ObjectiveC
- 25. C#はObjective-CとC++のようにCのスーパーセットですか?
- 26. サークル異なるボタンを使うObjectiveC
- 27. 2D動的メモリ割り当て - ObjectiveC
- 28. ObjectiveC <Custom UI>共有拡張キャンセルボタン
- 29. ObjectiveCのNSOperationQueueのようなPythonがありますか?
- 30. ObjectiveC-PHP:文字列とセキュリティの問題を渡す
! –
(私の答えは下記参照) –