On Feb 23, 2011, at 2:35 PM, James Bucanek wrote:

> It also occurred to me that if I'm careful, the Objective-C code doesn't 
> really need any of the details of the instance variables in the Objective-C++ 
> class:
> 
> @interface MyCPPClass : NSObject
> {
> #ifdef __cplusplus
>    @private
>    SomeCPPClass *someCppObject;
> #endif
> }
> - (void)doSomething;
> @end

Not a good idea. In the 32-bit runtime, this might cause problems with 
subclassing due to the fragile base class problem. And if you are able to 
require the 64-bit runtime, then, as Sean pointed out, you don’t have to 
include instance variables in the header at all. Either way, there’s no reason 
to #ifdef out instance variables, unless you put a generic void pointer in an 
#else block to keep the size the same.

Charles_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to