есть программа, как в аргументы функции передать целый класс, и его изменять так, что-бы именения были видны в main()?
#include <iostream>
#include <thread>
class foo{
public:
int bar2;
void bar(){
bar2 *= 2;
}
};
void func(foo &f){
f.bar();
}
int main(){
foo f;
f.bar2 = 1234;
std::thread t(func (f));
t.join();
return 0;
}
Зачем тут потоки: приводить весь свой проект я конечто же не буду, в нем нужно отдельно от цикла while(true) выполнять какие-либо действия.
Для этого достаточно передать ссылку на этот класс вместо самого класса:
::std::thread t{&func, ::std::ref(f)};
Так как все параметры, переданные в конструктор потока, копируютя, то передавать необходимо обертку для ссылки вместо просто ссылки на объект.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники