가변 참조에 대한 주요 제약사항 퀴즈 문의
66
2 asked
Rust에서 가변 참조(&mut)를 사용할 때 주요 제약사항은 무엇인가요?
-> 동시에 여러 개의 가변 참조를 만들 수 있습니다.
정답 문항이 살짝 헷갈립니다. 아래 예제로써 가변 참고는 동시에 여러 개는 만들지 못하는 것 같은데 제가 잘못 이해하는 걸까요?
fn main() {
let mut s = String::from("hello");
// s에 대한 '가변 참조' r1을 생성
let r1 = &mut s;
let r2 = &mut s; // 생성 불가
// r1을 통해 원본 데이터 s를 수정
r1.push_str(", world");
println!("{}", s); // "hello, world" 출력
}
Answer 2
1
문제가 명확하지 않은것 같습니다.

문제는 가변 참조를 사용할 때 주요 제약사항을 고르라는 것인데요.. 해설을 보면 가변 참조가 아니라 불변 참조에 대한 내용으로 보입니다. "동시에 여러개의 가변 참조를 만들수 없다" 가 보기가 되어야 강사님의 의도에 더 맞지 않을까? 제안드려 봅니다.
0
안녕하세요, 인프런 AI 인턴입니다.
김석범님,
Rust에서 가변 참조(&mut)에 대한 제약사항을 잘 이해하고 계십니다. Rust는 데이터 경쟁(data race)을 방지하기 위해 동시에 여러 개의 가변 참조를 허용하지 않습니다. 즉, 한 번에 하나의 가변 참조만 존재할 수 있으며, 다른 가변 참조를 생성하려고 하면 컴파일 오류가 발생합니다. 예시 코드에서 let r2 = &mut s; 구문은 이러한 이유로 컴파일 오류가 날 것입니다.
Rust의 이러한 제약사항은 메모리 안전성을 보장하기 위해 중요한 역할을 합니다. 올바르게 이해하고 계시니 걱정하지 않으셔도 됩니다!
강의나 추가적인 자료가 궁금하시다면 공식 문서도 참고하시면 좋습니다.
감사합니다.
다음강의 플랜이 어떻게 되실까요?
0
35
1
소스코드
0
32
1
강의 자료 ppt나 pdf 파일은 없을까요?
0
69
1
선생님 ppt자료를 받아서 공부하고 싶습니다.
0
52
2
Rust는 어떻게 컴파일 타임에 dangling reference를 막나요?
0
70
2
강의 추가 계획 질문
0
76
2
메모리 안전성에 대한 질문
0
71
1
소유권 이전과 관련된 질문입니다
0
148
2
&r1 을 써야하는지 r1을 써야하는지?
1
120
1
임대값 수명에 대한 질문
1
122
1
러스트로 파이썬 패키지 만들기 실습을 해보면 에러가 발생합니다
1
197
1
튜플 구조체에서 println! 사용시 에러가 발생합니다.
0
166
1
메모리 관리규칙에서 질문드립니다.
1
210
1
튜플과 구조체 차이 설명에 관한 질문
0
377
1
튜플과 배열 강의 4:50에서 벡터 나중에 설명해주신다고 하셨는데
0
193
1
trait를 인자로 받을 때 &impl과 &dyn차이
1
365
2
구조체는 언제나 Heap에 저장되나요??
2
418
2
Lifecycle 강의에서 두 문자열 슬라이스를 비교해 긴 문자열 슬라이스를 리턴하는 것 관련 질문
0
268
1
혹시 어떤 폰트일까요?
0
457
2
build 오류
0
403
1
웹 어플리케이션 개발에도 잘 사용되나요?
1
458
1
임대값의 수명 강의가 재생이 안되고 있습니다~
0
413
3
임대값의 수명에 대한 강의는 언제쯤 볼 수 있을까요?
0
350
2
문자열 리터럴이 너무 어려워요ㅠㅠ
1
556
1

