string_view 특징

  • 읽기 전용의 문자열 전달타입
  • 참조를 통해서 전달하며, 포인터와 길이만 관리하기에 매우 가볍고 빠름
  • 부분 문자열 처리에 복사 오버헤드가 없어 성능이 뛰어남
  • 참조한 문자열을 수정하면, string_view의 값도 변경
  • 참조한 문자열이 해제 되면 댕글링 이슈 발생
  • 로그 처리, 문자역 분석등에 유용

std::string_viewstd::string&의 차이점**

특징 std::string_view std::string&
목적 읽기 전용 참조로 사용. 문자열을 복사하지 않음. 문자열을 복사하지 않고 수정 가능.
메모리 관리 원본 문자열의 데이터만 참조(포인터 + 길이). 원본 문자열을 직접 참조.
성능 매우 가벼움. 복사 없이 빠르게 처리 가능. 가벼움. 하지만 수정 시 추가 작업이 발생.
유연성 부분 문자열을 처리하거나 null 종료 문자열을 요구하지 않음. 전체 문자열만 참조 가능.
수명 관리 원본 문자열이 파괴되면 참조가 유효하지 않음. 원본 문자열이 파괴되면 참조가 유효하지 않음.
수정 가능 여부 수정 불가능(읽기 전용). 원본 문자열 수정 가능.

'공부 > C++' 카테고리의 다른 글

union  (0) 2025.04.10
함수 포인터  (0) 2025.04.09
예외처리(simple)  (0) 2025.04.09
Attribute  (0) 2025.03.27
C++ IO스트림  (0) 2025.03.27

+ Recent posts

let textNodes = document.querySelectorAll("div.tt_article_useless_p_margin.contents_style > *:not(figure):not(pre)"); textNodes.forEach(function(a) { a.innerHTML = a.innerHTML.replace(/`(.*?)`/g, '$1'); });