CFixedStringT 클래스
이 클래스는 고정 문자 버퍼가 있는 문자열 개체를 나타냅니다.
구문
template<class StringType, int t_nChars>
class CFixedStringT : private CFixedStringMgr, public StringType
매개 변수
StringType
고정 문자열 개체의 기본 클래스로 사용되며 모든 CStringT
기반 형식일 수 있습니다. 몇 가지 예는 CString
, CStringA
및 CStringW
.
t_nChars
버퍼에 저장된 문자 수입니다.
멤버
공용 생성자
속성 | 설명 |
---|---|
CFixedStringT::CFixedStringT | 문자열 개체의 생성자입니다. |
Public 연산자
속성 | 설명 |
---|---|
CFixedStringT::operator = | 개체에 새 값을 CFixedStringT 할당합니다. |
설명
이 클래스는 을 기반으로 하는 사용자 지정 문자열 클래스의 예입니다 CStringT
. 비슷하지만 두 클래스의 구현은 다릅니다. 주요 차이점은 다음과 같습니다.CFixedStringT
CStringT
초기 문자 버퍼는 개체의 일부로 할당되며 크기 가 t_nChars. 이렇게 하면 개체가
CFixedString
성능을 위해 연속 메모리 청크를 차지할 수 있습니다. 그러나 개체의CFixedStringT
내용이 t_nChars 이상으로 커지면 버퍼가 동적으로 할당됩니다.개체의
CFixedStringT
문자 버퍼는 항상 길이가 같습니다( t_nChars). 개체의 버퍼 크기에CStringT
는 제한이 없습니다.둘 이상의
CFixedStringT
개체 간에 CStringData 개체를 공유할 수 없도록 메모리 관리자CFixedStringT
가 사용자 지정됩니다.CStringT
개체에는 이 제한이 없습니다.
일반적으로 문자열 개체의 CFixedStringT
사용자 지정 및 메모리 관리에 대한 자세한 내용은 메모리 관리 및 CStringT를 참조하세요.
상속 계층 구조
IAtlStringMgr
StringType
CFixedStringMgr
CFixedStringT
요구 사항
헤더: cstringt.h
CFixedStringT::CFixedStringT
CFixedStringT
개체를 생성합니다.
CFixedStringT() throw();
explicit CFixedStringT(IAtlStringMgr* pStringMgr) throw();
CFixedStringT(const CFixedStringT<StringType, t_nChars>& strSrc);
CFixedStringT(const StringType& strSrc);
CFixedStringT(const StringType::XCHAR* pszSrc);
explicit CFixedStringT(const StringType::YCHAR* pszSrc);
explicit CFixedStringT(const unsigned char* pszSrc);
매개 변수
pszSrc
이 CFixedStringT
개체에 복사할 null로 끝나는 문자열입니다.
strSrc
이 CFixedStringT
개체에 복사할 기존 CFixedStringT
개체입니다.
pStringMgr
개체의 메모리 관리자에 대한 포인터입니다 CFixedStringT
. 메모리 관리 및 메모리 IAtlStringMgr
관리에 대한 CFixedStringT
자세한 내용은 메모리 관리 및 CStringT를 참조하세요.
설명
생성자는 입력 데이터를 새 할당된 스토리지에 복사하므로 메모리 예외가 발생할 수 있음을 알고 있어야 합니다. 이러한 생성자 중 일부는 변환 함수 역할을 합니다.
CFixedStringT::operator =
새 데이터를 사용하여 기존 개체를 CFixedStringT
다시 초기화합니다.
CFixedStringT<StringType, t_nChars>& operator=(
const CFixedStringT<StringType, t_nChars>& strSrc);
CFixedStringT<StringType, t_nChars>& operator=(const char* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const wchar_t* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const unsigned char* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const StringType& strSrc);
매개 변수
pszSrc
이 CFixedStringT
개체에 복사할 null로 끝나는 문자열입니다.
strSrc
이 CFixedStringT
개체에 복사할 기존 CFixedStringT
개체입니다.
설명
새 스토리지가 결과 CFixedStringT
개체를 보유하도록 할당되는 경우가 많기 때문에 대입 연산자를 사용할 때마다 메모리 예외가 발생할 수 있습니다.