Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: id vs cast



Performance diffs depend not on how the instance is declared but on how it is used afterwards. Going the (TheClass *) route exposes the object's instance variables such that they can be dereferenced directly like a structure. This breaks the object paradigm but does improve performance in that you do not need to use theClass's access methods to get at the ivars. Oh, but be aware that the compiler only allows this for ivars that are defined within the @public block.

As far as the declaration itself, the compiler does nothing special to "optimize" anything behind the scenes AFAIK.

Hope this helps,

bisk

On Friday, December 6, 2002, at 07:57 PM, Edward Fink wrote:

Hi,

I am dealing with a function that returns a void pointer. I take this
pointer and cast it to "TheClass" like this:
TheClass *myObject;
myObject = (TheClass *)thePointer;

I am curious if there is any benefit to doing:
id *myObject = thePointer;

instead of casting the pointer as I have above.

I have used both ways with no problems. Is there a performance benefit
either way?

Thanks
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

References: 
 >id vs cast (From: Edward Fink <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.