To co mówiłeś to prawda ale trzabyło to zrobić ciut bardziej, elegancko :)
http://stackoverflow.com/questions/7686939/c-simple-return-value-from-stdthread
#include <thread> #include <future> void func(std::promise<int> && p) { p.set_value(1); } int main() { std::promise<int> p; auto f = p.get_future(); std::thread t(&func, std::move(p)); t.join(); int i = f.get(); }
i w Visual Studio to nie działa, ale działa pod postacią:
#include <thread> #include <future> void func(std::promise<int> * p) { p.set_value(1); } int main() { std::promise<int> p; auto f = p.get_future(); std::thread t(&func, &p); t.join(); int i = f.get(); }
93,439 zapytań
142,431 odpowiedzi
322,676 komentarzy
62,802 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj