|
C++ 빌더는 유니코드를 사용하죠.
String str = "aaa";
String str = L"aaa";
위와같이 두가지 신텍스 다 가능하나
String str = "aaa"; 를 이용하면 스트링 리터럴을 유니코드로 변환하는 레퍼함수가 무조건 호출되게 됩니다.
L 디렉티브를 사용하지 않더라도, 컴파일러에서 스트링 리터럴을 유니코드로 생성하게 해주면 좋을텐데..
그런 기능은 없고요...
유니코드로 변환하는 레퍼함수 호출 없이 조금이라도 효율적인 코드를 작성하려면..
String str = L"aaa";
위와같은 신텍스를 이용하는 게 현재로서는 가장 최선의 방법 입니다.
: 빌더러 님이 쓰신 글 :
: : XE3를 사용하고 있습니다.
: : 프로젝트 셋팅에 따라 String이 UnicodeString 또는 AnsiString으로 되게끔 Define되어 있더라구요...
: : 실제 문자열을 대입할때
: : String str = "aaa";
: : String str = L"aaa";
: : 모두 사용 가능한데 String str = "aaa";로 할 경우 내부적으로 변환하는 루틴을 타서 퍼포먼스 측면에서 손해가 나지 않을까 우려되는데 UnicodeString 사용 하시는 분들 어떻게 진행하시는 지 도움좀 부탁드립니다.
: : 사용하긴 String str = "aaa"가 참 편한데 말이죠...ㅠㅠ
|