|
양동선 님이 쓰신 글 :
: 자주 들르는데, 이렇게 질문을 적어 보기는 처음인데요.
:
: 빌더에서는 여러가지의 string을 지원하는 걸로 알고 있습니다.
:
: AnsiString
: String
위 두 가지는 같은 겁니다.
아마
typedef String AnsiString;
으로 선언되어 있을 겁니다.
VCL을 쓸 때는 반드시 사용해야하는 문자열 타입입니다.
참고로 유니코드 문자열은 WideString입니다.
: basic_string
: ....
이것은 ANSI C++의 STL(Standard Template Library)에 포함된 문자열 템플릿 클래스입니다.
템플릿 클래스이므로 실제로는 이렇게 사용되지 않고요,
typedef basic_string<char> string; // 보통의 1바이트 문자열
typedef basic_string<wchart_t> wstring; // 유니코드 문자열
이렇게 선언되어 있기 때문에
그냥 string, wstring 타입을 쓰시면 됩니다.
: 이런것들이 어떻게 쓰고, 어떤 차이가 있는지 궁금합니다.
대충 두 가지의 기능을 비교하자면,
VCL의 AnsiString 쪽이 기본적으로 지원하는 멤버 함수와 일반 함수가 많아서 초보자가 쓰기에는 편리합니다만,
STL의 string은 다양한 STL algorithm과 조합해서 사용하면 훨씬 다양한 기능을 쓸 수 있습니다.
단, STL을 어느 정도 공부하셔야 하지요.
하여튼, 각종 버그의 원인이 되는 불편한 char 배열은 웬만하면 쓰지 마시고, AnsiString과 string을 용도에 맞게 골라서 사용하세요.
: 책을 봐도 제가 아직 무지해서 인지 잘 이해가 가질 않습니다.
: 부디 빌더 내공이 출중한 선배님들의 많은 답변 부탁 드립니다.
: 꾸벅. ^^;
|