advertisement

Article:
  Strings in Cocoa: Part I
Subject:   Comparing strings
Date:   2001-07-04 23:33:56
From:   canyonrat
Response to: Comparing strings

What this is telling me is that you almost always want char* s rather than char[] s. The first form gives gcc permission to be smart about checking whether you have already used the string and, if you have, just reusing it rather than saving a mew copy and bloating your code.


For example consider:
char* aString = "hello";
and later
char* bString = "hello"


the compiler has permission to notice that aString == bString and just reuse aString.


The second form says that you might want to change bString later and you don't want that to effect aString so they must be stored separately. But you won't need this second form in ObjC because you can use NSMutableString instead.


Of course the best rule for C style strings is don't use them at all. They are just too complicated and error prone.