검색 여닫기
검색
메뉴 여닫기
551
259
4
2.2천
noriwiki
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
파일 올리기
환경 설정 메뉴 여닫기
notifications
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
user-interface-preferences
한국어
개인 도구
로그인
Affine type 문서 원본 보기
noriwiki
문서 공유하기
다른 명령
←
Affine type
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
[[분륲: 프로그래밍 언어]] == 개요 == Affine type이란 프로그래밍 언어나 타입 시스템에서, 어떤 값이 '''최대 한 번만 사용될 수 있음'''을 보장하는 타입이다. 정확히 한번 사용해야 하는 Linear type과는 다르게, 최대 사용안하거나 1번 사용하는 것을 허용한다. Affine type은 한번 사용된 type이 다시 사용되는 것을 막기 때문에 안전성을 컴파일 타임에 보장할 수 있다. Rust에서 본직적으로 Copy를 사용하지 못하는 모든 타입은 Affine하다고 볼 수 있다. (E.g., Integer 혹은 Reference) <syntaxhighlight lang=rust> fn consume(x: String) { println!("{}", x); } fn main() { let s = String::from("hi"); consume(s); // 여기서 소유권 이동 // println!("{}", s); // ❌ 사용 불가 (affine 제약) } </syntaxhighlight>
Affine type
문서로 돌아갑니다.