почему нельзя просто через this?
И вот еще тут переопределяется оператор, но я что то не понимаю где он вызывается:
тут func my_func(some_local_state); - конструктор, а
тут std::thread my_thread(my_func); - запуск треда и вроде скобок больше нигде нет (
#include <thread>
#include <iostream>
using namespace std;
void do_something(int& i)
{
++i;
}
struct func
{
int& i;
func(int& i_):i(i_){}
void operator()()
{
for(unsigned j=0;j<1000000;++j)
{
do_something(i);
cout << i << endl;
}
}
};
void oops()
{
int some_local_state=0;
func my_func(some_local_state);
std::thread my_thread(my_func);
my_thread.detach();
}
int main()
{
oops();
}
А где странно то ?
ну просто не встречал такой записи
Какой блин записи там дофига строк...
Обсуждают сегодня