| 5 | using namespace std; |
| 6 | |
| 7 | class SmallTask { |
| 8 | public: |
| 9 | SmallTask() { |
| 10 | cout<<"SmallTask: construct"<<endl; |
| 11 | } |
| 12 | SmallTask(const SmallTask&) { |
| 13 | cout<<"SmallTask: copy construct"<<endl; |
| 14 | } |
| 15 | SmallTask(SmallTask&&) { |
| 16 | cout<<"SmallTask: move construct"<<endl; |
| 17 | } |
| 18 | ~SmallTask() { |
| 19 | cout<<"SmallTask: distruct"<<endl; |
| 20 | } |
| 21 | void operator()() { |
| 22 | cout<<"SmallTask: run"<<endl; |
| 23 | } |
| 24 | private: |
| 25 | char a[64 - 2 * sizeof(void*)]; |
| 26 | }; |
| 27 | |
| 28 | class BigTask { |
| 29 | public: |