[c++ korea] effective modern c++ sinchon study item 37-39
TRANSCRIPT
Effective Modern C++ StudyC++ Korea
Effective Modern C++ StudyC++ Korea3
Effective Modern C++ StudyC++ Korea4
Effective Modern C++ StudyC++ Korea5
Effective Modern C++ StudyC++ Korea6
constexpr auto tenMillion = 10000000;constexpr auto tenMillion = 10’000’000;
//in C++14
Effective Modern C++ StudyC++ Korea7
Effective Modern C++ StudyC++ Korea8
Effective Modern C++ StudyC++ Korea9
Effective Modern C++ StudyC++ Korea10
Effective Modern C++ StudyC++ Korea11
Effective Modern C++ StudyC++ Korea12
Effective Modern C++ StudyC++ Korea13
Effective Modern C++ StudyC++ Korea14
Effective Modern C++ StudyC++ Korea15
Effective Modern C++ StudyC++ Korea16
Effective Modern C++ StudyC++ Korea17
Effective Modern C++ StudyC++ Korea18
Effective Modern C++ StudyC++ Korea20
Effective Modern C++ StudyC++ Korea21
Effective Modern C++ StudyC++ Korea22
future std::promise
Effective Modern C++ StudyC++ Korea23
future std::promise
Effective Modern C++ StudyC++ Korea24
future std::promise
Effective Modern C++ StudyC++ Korea25
future std::promise
공유상태(Shared State)
Effective Modern C++ StudyC++ Korea26
Effective Modern C++ StudyC++ Korea27
Effective Modern C++ StudyC++ Korea28
Effective Modern C++ StudyC++ Korea29
std::vector<std::future<void>> futs;
class Widget {
public:
…
private:
std::shared_future<double> fut;
};
Effective Modern C++ StudyC++ Korea30
Effective Modern C++ StudyC++ Korea31
int calcValue(); // 실행할함수
std::packaged_task<int()> pt(calcValue); // 동기적으로수행
auto fut = pt.get_future(); // future를얻음fut의소멸자는어떻게행동할까?
Effective Modern C++ StudyC++ Korea32
std::thread t(std::move(pt)); // t에서 pt실행
Effective Modern C++ StudyC++ Korea33
{
std::packaged_task<int()> pt(calcValue);
auto fut = pt.get_future();
std::thread t(std::move(pt));
…
}
Effective Modern C++ StudyC++ Korea34
Effective Modern C++ StudyC++ Korea35
Effective Modern C++ StudyC++ Korea36