내가만든/라인들

[AutoString] 헤더 파일과 사용시 주의점

비엔나햄 2016. 11. 27. 15:24

 

C++의 가변인자 템플릿을 이용한 문자열 생성 클래스

Write메서드의 인자로 원하는 값을 넣어주면 계속해서 append 된다.

 

단, char형에 대한 제약이 좀 필요 하다.

Write('a'); 라고 호출했을 경우,

a는 아스키 코드의 97로 인식이 되고 이것을 97이라는 "숫자"로 입력을 할 것인가,

혹은 아스키코드 97이 가리키는 값인 문자 'a'로 입력을 할 것인가 의 선택을 결정 해야 한다.

 

현재는 unsigned char형 일때에만 "숫자"로 입력을 하고 있는데,

내 생각에 가장 좋은 규약은 문자를 표현하고자 할때에는 전부 "문자열"로 입력을 하는 것이다.

 

어중간하게 Byte(unsigned char)같은 형을 통해 정수를 전달하는 행위를 없애고,

숫자는 -> 숫자 / 문자는 > 문자열 로 입력하는 약속을 정해서 사용하면 문제가 없을 것 같다.

 

그리고 이 클래스는 내부에서 재귀호출을 수행하므로 속도는 다소 떨어질 수 있다.

하지만 스트링 포맷을 맞추지 않아도 되기 때문에 대단히 편리하게 사용 될 것이다.

 

AutoString.h