RakunBear
2025. 4. 9. 17:00
2025. 4. 9. 17:00
string_view
특징
- 읽기 전용의 문자열 전달타입
- 참조를 통해서 전달하며, 포인터와 길이만 관리하기에 매우 가볍고 빠름
- 부분 문자열 처리에 복사 오버헤드가 없어 성능이 뛰어남
- 참조한 문자열을 수정하면,
string_view
의 값도 변경
- 참조한 문자열이 해제 되면 댕글링 이슈 발생
- 로그 처리, 문자역 분석등에 유용
std::string_view
와 std::string&
의 차이점**
특징 |
std::string_view |
std::string& |
목적 |
읽기 전용 참조로 사용. 문자열을 복사하지 않음. |
문자열을 복사하지 않고 수정 가능. |
메모리 관리 |
원본 문자열의 데이터만 참조(포인터 + 길이). |
원본 문자열을 직접 참조. |
성능 |
매우 가벼움. 복사 없이 빠르게 처리 가능. |
가벼움. 하지만 수정 시 추가 작업이 발생. |
유연성 |
부분 문자열을 처리하거나 null 종료 문자열을 요구하지 않음. |
전체 문자열만 참조 가능. |
수명 관리 |
원본 문자열이 파괴되면 참조가 유효하지 않음. |
원본 문자열이 파괴되면 참조가 유효하지 않음. |
수정 가능 여부 |
수정 불가능(읽기 전용). |
원본 문자열 수정 가능. |