Welcome to collectivesolver - Programming & Software Q&A. A website you can trust. All programs tested and works. Contact: aviboots(AT)netvision.net.il
Bonsai Trees

Liquid Web Managed Dedicated Server: RAID 1 SSD with 16GB of RAM minimum! 24/7 On-Site Heroic Support! Industry-Leading SLA!

BlueHost Web Hosting

Ecommerce Software - Best Ecommerce Platform Made for You - Free Trial

Ecommerce Software - Best Ecommerce Platform Made for You - Free Trial

getflywheel wordpress hosting


Liquid Web Cloud VPS Hosting

8,978 questions

12,389 answers

573 users

How to pass reference to thread in C++

2 Answers

0 votes
#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

*/

 




answered Feb 7 by avibootz
0 votes
#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, std::ref(n)); // ref(n));
	obj.join();

	cout << "end main() n = " << n << endl;

	return 0;
}

/*
run:

main() n = 10
threadFunction n = 11
end main() n = 11

*/

 




answered Feb 7 by avibootz
...