Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Coroutine trong C/C++


Trong hướng dẫn này, thảo luận coroutine trong C/C++.

Coroutine là chỉ thị điều khiển chuyển quyền thực thi giữa hai routine mà không trả về (returning any of them).

Ví dụ

#include 
int range(int a, int b){
    static long long int i;
    static int state = 0;
    switch (state){
    case 0:
        state = 1;
        for (i = a; i < b; i++){
            return i; // trả về điều khiển
        case 1:; // tiếp tục điều khiển
        }
    }
    state = 0;
    return 0;
}
int main(){
    int i;
    for (; i=range(1, 5);)
        printf("control at main :%d\n", i);
    return 0;
}

Kết quả

control at main :1
control at main :2
control at main :3
control at main :4