I'm thinking about writing an application that will have a web-version and an iPhone version (and perhaps later also an android version).
Since there is some algorithms that are the same on the iPhone and the web versions, I was wondering if it is possible to write that part in c++, while keeping the rest of the application in objective-c?
3 Answers 3
Absolutely. You can write in C and C++, as well as Objective-C. Your algorithms can easily be in straight C++.
-
1imo you're probably also better off writing the algorithms in c++: suppose you want to reuse them later you won't be tied to objective-cstijn– stijn2011年02月21日 08:17:10 +00:00Commented Feb 21, 2011 at 8:17
-
2I was thinking of SO, but according to the P.SE faq, it allows questions on "Architecture", where SO is about "Specific programming problem, software algorithms, coding". I believe that this question falls in the first category.Pete– Pete2011年02月21日 09:21:22 +00:00Commented Feb 21, 2011 at 9:21
Yes, as others have mentioned you can mix C and C++ in with ObjectiveC. It's worth noting, though, that any code that makes of the Aqua GUI or Cocoa has to rely on Objective-C. So, you could re-use existing business logic in C++ and "wrap" it with Objective-C. I know a number of people have done this with existing game frameworks coded in C++.
Yes, you can also write Objective-C++ by changing the file extension from .m to .mm. Then you can mix C++ and Objective-C code in the same file. It makes it very easy for your Objective-C UI code to call your C++ backend code.