49
Effective Modern C++ Study C++ Korea

[C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Embed Size (px)

Citation preview

Page 1: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea

Page 2: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 3: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea3

Page 4: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea4

Page 5: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea5

Page 6: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea6

constexpr auto tenMillion = 10000000;constexpr auto tenMillion = 10’000’000;

//in C++14

Page 7: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea7

Page 8: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea8

Page 9: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea9

Page 10: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea10

Page 11: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea11

Page 12: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea12

Page 13: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea13

Page 14: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea14

Page 15: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea15

Page 16: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea16

Page 17: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea17

Page 18: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea18

Page 19: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 20: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea20

Page 21: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea21

Page 22: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea22

future std::promise

Page 23: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea23

future std::promise

Page 24: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea24

future std::promise

Page 25: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea25

future std::promise

공유상태(Shared State)

Page 26: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea26

Page 27: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea27

Page 28: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea28

Page 29: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea29

std::vector<std::future<void>> futs;

class Widget {

public:

private:

std::shared_future<double> fut;

};

Page 30: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea30

Page 31: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea31

int calcValue(); // 실행할함수

std::packaged_task<int()> pt(calcValue); // 동기적으로수행

auto fut = pt.get_future(); // future를얻음fut의소멸자는어떻게행동할까?

Page 32: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea32

std::thread t(std::move(pt)); // t에서 pt실행

Page 33: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea33

{

std::packaged_task<int()> pt(calcValue);

auto fut = pt.get_future();

std::thread t(std::move(pt));

}

Page 34: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea34

Page 35: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea35

Page 36: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39

Effective Modern C++ StudyC++ Korea36

Page 37: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 38: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 39: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 40: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 41: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 42: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 43: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 44: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 45: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 46: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 47: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 48: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39
Page 49: [C++ Korea] Effective Modern C++ Sinchon Study Item 37-39