
Generator는 함수를 호출할 때마다 이전 결과를 기억하고 다음 결과를 계산하는 특성을 가진 객체입니다. Generator는 반복 가능한(iterable) 객체를 생성할 때 사용됩니다.
Generator::key는 Generator를 생성할 때 사용되는 키(key)입니다. 키는 Generator를 생성할 때 사용되는 함수나 메서드의 이름입니다. 키는 Generator를 생성할 때 사용되는 함수나 메서드의 이름을 지정하는 역할을 합니다.
Generator::key는 Generator를 생성할 때 사용되는 키(key)로, Generator를 생성할 때 사용되는 함수나 메서드의 이름을 지정하는 역할을 합니다. 예를 들어, Generator를 생성할 때 사용되는 함수가 `myGenerator` 함수라면, `myGenerator` 함수의 이름을 `Generator::key`로 지정할 수 있습니다.
#hostingforum.kr
cpp
#include
#include
#include
// Generator를 생성하는 함수
class Generator {
public:
Generator(std::vector numbers) : numbers_(numbers) {}
// Generator::key로 지정된 함수
auto operator()() {
if (!numbers_.empty()) {
int num = numbers_.front();
numbers_.erase(numbers_.begin());
return num;
}
return -1; // 종료 시 -1을 반환
}
private:
std::vector numbers_;
};
int main() {
// Generator를 생성
Generator gen({1, 2, 3, 4, 5});
// Generator::key로 지정된 함수를 호출하여 Generator의 결과를 얻습니다.
while (true) {
int result = gen();
if (result == -1) break;
std::cout << result << std::endl;
}
return 0;
}
위 예제에서 `Generator` 클래스는 Generator를 생성하는 역할을 합니다. `operator()` 함수는 Generator::key로 지정된 함수로, Generator의 결과를 반환합니다. `main()` 함수에서 Generator를 생성하고 Generator::key로 지정된 함수를 호출하여 Generator의 결과를 얻습니다.
2025-08-08 16:34