2013-01-04 3 views
0

누군가가 생성기, 열거 자, 반복기 용어에 대한 정의를 제공 할 수 있습니까? 다른 언어가 이러한 임의적 인 것을 사용하고 있으며 정확한 차이점을 알고 싶습니다.생성자, 열거 자, 반복기 정의

답변

0

위키 백과는 완벽하게 좋은 일반적인 정의를 제공합니다

, 반복자 읽고 루프를 사용하여 반복 할 수있는 클래스이다; 생성자는 값을 하나씩 반환하여 반복자처럼 작동하는 함수입니다. 열거 자 (enumerator)는 해당 값 중 하나만 포함하도록 변수 정의에 사용할 수있는 가능한 값 목록을 포함하는 데이터 유형입니다.

내가 아는 한,이 용어의 사용법은 다른 구문 (분명히)에도 불구하고 언어간에 꽤 일관됩니다. 당신을 혼란스럽게 본 것은 무엇입니까?

+0

http://stackoverflow.com/a/1630301/1949288 – user206334

1

열거자를 값을 레이블하는 방법입니다. 정수 컨테이너를 가지고 있다면 가능한 값에 대한 열거를 정의 할 수 있습니다. 명명 된 값과 숫자를 기억하는 것이 더 쉽습니다. 예를 들어, 아는 사람들이 이름이 없지만 대신 고유 번호가 부여 된 경우를 상상해보십시오. 기억하기가 더 어려울 것입니다.

반복기는 컨테이너를 탐색 할 수있게 해주는 개체입니다. 당신은 그것을 단계적으로 반복합니다. 일부 컨테이너는 단계별로 (연속 배열과 같이) 직선적으로 실행되지만 다른 요소는 링크 된 목록과 같이 각 요소가 메모리 전체에 무작위로 분산 될 수있는 방식 또는 데이터를 단계별로 실행할 수있는 여러 가지 주문이있을 수있는 이진 트리와 유사하지 않습니다.). 반복자를 사용하면 이러한 종류의 세부 사항을 염려하지 않고 컨테이너를 탐색 할 수 있습니다.

컴퓨터 과학에서

는, 발전기가의 반복 동작을 제어하는 ​​데 사용할 수있는 특별한 루틴 : 나는 위키 피 디아에서 당신이 따옴표를 떠나 너무

발전기로

, 나는 그들에 익숙하지 않다 루프. 생성기는 배열을 반환하는 함수와 매우 유사합니다. 즉, 생성기에 매개 변수가 있고 호출 할 수 있으며 일련의 값을 생성합니다. 그러나 모든 값을 포함하는 배열을 만들고이를 모두 한 번에 반환하는 대신 생성기는 한 번에 하나씩 값을 산출하므로 메모리가 덜 필요하며 호출자는 처음 몇 개의 값을 즉시 처리 할 수 ​​있습니다. 즉, 생성기는 함수처럼 보이지만 반복기처럼 작동합니다.