在boost/asio/coroutine.hpp中,宏的定义中有 case 语句yield
,似乎无法访问:
switch (_coro_value ? 0 : 1) \
for (;;) \
case -1: if (_coro_value) \
goto terminate_coroutine; \
else for (;;) \
case 1: if (_coro_value) \
goto bail_out_of_coroutine; \
else case 0:
case -1
由于切换的值只能是0
or ,其目的是1
什么?