普段は自前の Unicode 文字列クラス(もしくは std::basic_string)で管理していたとしても、描画したり NS〜 の API を呼ぶ際には NSString を作る必要がある。 しかし出来る限り NSString の生成コストを減らしたいという場合、以下のように書くのが良さそうな感じ。 NSString* ToNSString(const unichar* str, int len) { return [[[NSString alloc] initWithCharactersNoCopy:str length:len freeWhenDone:NO] autorelease]; } または NSString* ToNSString(const unichar* str, int len) { // CFString* と NSString* はこんぱちぶる(だったはず)