누군가가 생성기, 열거 자, 반복기 용어에 대한 정의를 제공 할 수 있습니까? 다른 언어가 이러한 임의적 인 것을 사용하고 있으며 정확한 차이점을 알고 싶습니다.생성자, 열거 자, 반복기 정의
답변
위키 백과는 완벽하게 좋은 일반적인 정의를 제공합니다
- Iterator
- Generator 한마디로
- Enumerator
, 반복자 읽고 루프를 사용하여 반복 할 수있는 클래스이다; 생성자는 값을 하나씩 반환하여 반복자처럼 작동하는 함수입니다. 열거 자 (enumerator)는 해당 값 중 하나만 포함하도록 변수 정의에 사용할 수있는 가능한 값 목록을 포함하는 데이터 유형입니다.
내가 아는 한,이 용어의 사용법은 다른 구문 (분명히)에도 불구하고 언어간에 꽤 일관됩니다. 당신을 혼란스럽게 본 것은 무엇입니까?
열거자를 값을 레이블하는 방법입니다. 정수 컨테이너를 가지고 있다면 가능한 값에 대한 열거를 정의 할 수 있습니다. 명명 된 값과 숫자를 기억하는 것이 더 쉽습니다. 예를 들어, 아는 사람들이 이름이 없지만 대신 고유 번호가 부여 된 경우를 상상해보십시오. 기억하기가 더 어려울 것입니다.
반복기는 컨테이너를 탐색 할 수있게 해주는 개체입니다. 당신은 그것을 단계적으로 반복합니다. 일부 컨테이너는 단계별로 (연속 배열과 같이) 직선적으로 실행되지만 다른 요소는 링크 된 목록과 같이 각 요소가 메모리 전체에 무작위로 분산 될 수있는 방식 또는 데이터를 단계별로 실행할 수있는 여러 가지 주문이있을 수있는 이진 트리와 유사하지 않습니다.). 반복자를 사용하면 이러한 종류의 세부 사항을 염려하지 않고 컨테이너를 탐색 할 수 있습니다.
컴퓨터 과학에서는, 발전기가의 반복 동작을 제어하는 데 사용할 수있는 특별한 루틴 : 나는 위키 피 디아에서 당신이 따옴표를 떠나 너무
발전기로, 나는 그들에 익숙하지 않다 루프. 생성기는 배열을 반환하는 함수와 매우 유사합니다. 즉, 생성기에 매개 변수가 있고 호출 할 수 있으며 일련의 값을 생성합니다. 그러나 모든 값을 포함하는 배열을 만들고이를 모두 한 번에 반환하는 대신 생성기는 한 번에 하나씩 값을 산출하므로 메모리가 덜 필요하며 호출자는 처음 몇 개의 값을 즉시 처리 할 수 있습니다. 즉, 생성기는 함수처럼 보이지만 반복기처럼 작동합니다.
- 1. 생성자 블록을 사용한 열거 자 동작
- 2. Enums 생성자 정적 초기화 자
- 3. 열거 AppMessage 생성자
- 4. 열거 자 값 확인
- 5. Inno 설치 열거 자
- 6. 열거 자 : Class
- 7. FakeItEasy에서 열거 자 생성하기
- 8. 열거 자 재정의
- 9. 필터링/브랜칭 열거 자
- 10. 스레드에서 열거 자 공유
- 11. 스타일 및 열거 자
- 12. 열거 자 할당
- 13. 재정의 및 열거 자
- 14. 트리의 다중 열거 자
- 15. 스칼라 생성자 문제 및 열거
- 16. Objective-C, 열거 자 및 사용자 정의 설정자 - 작동 방식
- 17. java 열거 자의 개인 생성자
- 18. 접근 자 생성 무스 생성자
- 19. 다른 생성자 인수가있는 장식 자
- 20. 컨트롤러의 통화 구성 자 생성자
- 21. glTexImage2D 이후의 "잘못된 열거 자"
- 22. 인터리브 열거 자 재생 2.0
- 23. 루비 : 루프 백 열거 자
- 24. 열거 자 슬라이스 가져 오기
- 25. C# QueryExpression 내부 열거 자
- 26. C++의 열거 자 구현
- 27. 하스켈 열거 자, 이상한 오류
- 28. 스트림에 열거 자/반복자 적용
- 29. Neo4jrb : model_class의 열거 자 : false
- 30. triangular_numbers 열거 자 수령자 수율
http://stackoverflow.com/a/1630301/1949288 – user206334