String Access

문자 접근: 빠른 접근과 범위 검사의 선택

`std::string`은 배열처럼 문자를 읽고 바꿀 수 있지만, 인덱스가 안전한지에 따라 접근 방법을 달리해야 합니다.

유효 범위 0부터 length - 1
빠른 접근 `[]`는 범위 검사 없음
안전 접근 `.at()`은 예외로 알림
operator []

인덱스가 이미 검증된 경우

my_string[0] = 'e';

빠르게 읽고 쓸 수 있지만, 범위를 벗어난 접근은 프로그램 오류로 이어질 수 있습니다.

.at()

인덱스가 외부 입력에서 온 경우

my_string.at(pos)

범위를 검사하고 잘못된 위치면 `std::out_of_range` 예외를 발생시킵니다.

"Example" length = 7

접근 가능한 마지막 위치는 6

E 0
x 1
a 2
m 3
p 4
l 5
e 6

반복문 내부

조건이 `i < text.length()`라면 `[]`로 간결하게 접근합니다.

사용자 입력 위치

입력값이 범위 밖일 수 있으면 `.at()`으로 실패를 명확히 합니다.

문자 수정

유효 위치의 문자는 대입으로 바꿀 수 있고 문자열 길이는 그대로입니다.