Objective-C++

"By default Objective-C does not call the constructor for c++ types on initialization. If you set this flag in the build settings 'Call C++ Default Ctors/Dtors in Objective-C', it will change the default behavior. Be aware that the flag only shows up if you have the target set to Device." "So, you have an Objective-C++ file with a header you want to be able to include in 'straight' Objective-C ones. You can't #include the headers for the C++ classes because that would break .m compatibility; you can't use 'class' because straight Objective-C doesn't know what it is; you can't use '@class' because that's an Objective-C class and not a C++ one." "You can, however, use struct because the only difference between a struct and a class is the default access permissions. You have to forward declare the struct, but also typedef it to itself because this is C we're talking about:" struct CAStreamBasicDescription; typedef struct CAStreamBasicDescription CAStreamBasicDescription;
 * http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocCPlusPlus.html
 * http://stackoverflow.com/questions/525609/use-c-with-cocoa-instead-of-objective-c
 * http://stackoverflow.com/questions/973851/stdlist-problem-for-iphone-development
 * http://www.zedkep.com/blog/index.php?/archives/247-Forward-declaring-C++-classes-in-Objective-C.html