#include <iostream>
#include <thread>
#include <string>
using std::cout;
using std::endl;
void threadFunction(int const &n)
{
int &i = const_cast<int &>(n);
i++;
cout << "threadFunction n = " << n << endl;
}
int main()
{
int n = 10;
cout << "main() n = " << n << endl;
std::thread obj(threadFunction, n);
obj.join();
cout << "end main() n = " << n << endl;
return 0;
}
/*
run:
main() n = 10
threadFunction n = 11
end main() n = 10
*/