Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- C++
- 언리얼엔진구조체
- unorder_map
- 델리게이트
- 데이터애셋
- 자료구조
- 람다사용정렬
- UELOG
- 선택정렬
- moreeffectiveC++
- 강참조
- map
- UE_LOG
- 람다
- 정렬알고리즘
- UML관련
- 알고리즘
- UE4 커스텀로그
- dataasset
- 스마트포인터
- 프로그래머스
- 크리티컬섹션
- 정렬
- 언리얼가비지컬렉터
- enumasByue
- stl
- BFS
- C++최적화
- 약참조
- 애셋로드
Archives
- Today
- Total
기억을 위한 기록들
[CPP] std::string과 std::string_view 본문
std::string:
- std::string은 가변 길이의 문자열을 나타내는 클래스
- 문자열 데이터를 동적으로 할당하고 관리합니다. 메모리는 자동으로 확장 및 축소됩니다.
- 문자열의 길이 정보를 내부에 저장하며, 문자열의 모든 연산 (추출, 수정, 추가 등)을 지원합니다.
- 문자열을 복사하거나 이동하는 등의 작업에 관련된 메모리 할당 및 해제가 수반됩니다.
std::string_view:
- std::string_view는 문자열의 일부 또는 전체에 대한 읽기 전용(view)을 나타내는 클래스입니다.
- 메모리를 소유하지 않고, 기존의 문자열 데이터를 참조합니다. 따라서 복사나 메모리 할당이 없습니다.
- 문자열의 길이 정보를 내부에 저장하지 않고, 기존 문자열의 일부를 가리킵니다.
- 주로 문자열 조각에 대한 빠른 읽기 연산이 필요한 경우에 사용됩니다.
차이점
- std::string은 문자열을 소유하고 동적으로 할당된 메모리를 사용합니다.
- std::string_view는 문자열을 소유하지 않으며, 기존의 문자열 데이터를 참조합니다.
- std::string_view는 읽기 전용이므로, 데이터를 수정할 수 없습니다. std::string은 수정이 가능합니다.
- std::string_view는 주로 문자열 조각에 대한 경량화된 뷰를 제공하는데 사용되며, 특히 함수 매개변수로 문자열을 전달할 때 유용합니다.
- C++17 이상에서 std::string_view가 도입
'C & CPP' 카테고리의 다른 글
[CPP] C++ 정규 표현식 (regex / regular expression)에 관하여 (0) | 2024.03.08 |
---|---|
[CPP] <algorithm> 헤더에서 유용한 함수 (0) | 2023.11.30 |
[CPP] std::min_element 최소값/ std::max_element 최대값 구하기 (1) | 2023.11.26 |
비트연산 관련 (0) | 2023.07.25 |
[C & CPP] 람다함수의 메모리 할당에 대하여.. (0) | 2023.04.05 |