7

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?

Pete
  • 8,916
  • 3
  • 41
  • 53

3 Answers3

8

Absolutely. You can write in C and C++, as well as Objective-C. Your algorithms can easily be in straight C++.

Matthew Frederick
  • 1,719
  • 10
  • 15
  • 1
    imo 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-c – stijn Feb 21 '11 at 08:17
  • 2
    I 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 Feb 21 '11 at 09:21
4

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++.

Scott Davies
  • 557
  • 1
  • 5
  • 5
1

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.

FigBug
  • 2,369
  • 3
  • 17
  • 20