分析为什么在并发 C++ 中异常不会“在 std::async 那里冒出”,而是在获取结果的地方——调用
future.get() 时出现:shared state 的组织方式,为什么
wait()/
wait_for() 并不保证成功,
std::launch::deferred 模式如何影响行为,以及如何通过
std::promise 的
set_exception、
std::exception_ptr 和
std::current_exception() 手动传递错误。最后 — 一些细节,比如
broken promise、一次性的
get() 和典型陷阱。