У меня есть функция в моем классе, которая создает поток и дает ему аргументы для вызова функции, которая является частью этого класса, но так как поток procs должен быть статическим, я не могу получить доступ к каким-либо членам класса. Как это можно сделать, не используя кучу статических членов в файле cpp, чтобы временно манипулировать данными, это кажется медленным.Функции класса доступа от другого ада?
Вот пример того, что я имею в виду:
в CPP файле:
void myclass::SetNumber(int number)
{
numberfromclass = number;
}
void ThreadProc(void *arg)
{
//Can't do this
myclass::SetNumber((int)arg);
}
Я не могу сделать это, так как SetNumber должен быть статическим, но я экземпляр моего класса много, так что не будет работать.
Что я могу сделать?
Благодаря
Я не использую boost – jmasterx
О, хорошо, я просто передаю структуру, тогда, когда 1 из ее членов является указателем на себя – jmasterx
, да, это может быть решением, если вы действительно против использования форсирования. Обратите внимание, однако, что эти вещи теперь являются частью нового стандарта C++ 0x, поддерживаемого основными компиляторами, поэтому его использование не является экзотическим. Они находятся в другом пространстве имен: std вместо повышения – jdehaan