• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Is @"constantstring" pointer equal to @"constantstring" a guarantee?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is @"constantstring" pointer equal to @"constantstring" a guarantee?


  • Subject: Re: Is @"constantstring" pointer equal to @"constantstring" a guarantee?
  • From: "Kyle Sluder" <email@hidden>
  • Date: Thu, 27 Mar 2008 22:41:25 -0400

On Thu, Mar 27, 2008 at 9:16 PM, Jens Alfke <email@hidden> wrote:
>  The linker coalesces multiple identical string constants into a single
>  value in the data segment. However, you can still end up with multiple
>  copies if your code was linked in separate pieces and then joined
>  together. Prior to Xcode 3.0 that used to happen when using ZeroLink —
>  in fact, once or twice I've had my code crash when run with ZeroLink
>  because I'd inadvertently used pointer comparison instead of
>  isEqualToString: somewhere. Xcode 3.0 doesn't have ZeroLink anymore,
>  but the details of how your program gets linked together are not
>  something you should be relying on.

But it still makes sense to me that when I'm providing NSString
constants to be used as they are in the case of an NSError's userInfo
dictionary, for example, that pointer comparison is still valid.  Of
course I wouldn't do it for places where I expect arbitrarily-provided
strings to be passed to my method, but I typically make my string
constants opaque.

Is this just in general a Bad Idea(TM)?

--Kyle Sluder
_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Is @"constantstring" pointer equal to @"constantstring" a guarantee?
      • From: glenn andreas <email@hidden>
    • Re: Is @"constantstring" pointer equal to @"constantstring" a guarantee?
      • From: Ken Thomases <email@hidden>
References: 
 >Is @"constantstring" pointer equal to @"constantstring" a guarantee? (From: Nathan Vander Wilt <email@hidden>)
 >Re: Is @"constantstring" pointer equal to @"constantstring" a guarantee? (From: Jens Alfke <email@hidden>)

  • Prev by Date: Re: CGContextReplacePathWithStrokedPath problem?
  • Next by Date: Re: Subverting the first responder chain
  • Previous by thread: Re: Is @"constantstring" pointer equal to @"constantstring" a guarantee?
  • Next by thread: Re: Is @"constantstring" pointer equal to @"constantstring" a guarantee?
  • Index(es):
    • Date
    • Thread