| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Передача параметров потоку |
| Автор: 4eJIoBekMoJIekyJIa 30.4.2008, 03:22 | ||
Такая проблема, мне нужно передать в поток переменную типа vector<MyStruct> где например MyStruct объявляеться как
насколько я знаю в функцию потока нужно передавать переменную тип (void*), что нужно сделать, чтобы, потом внутри этой функции, преобразовать переменную обратно в vector<MyStruct>? |
| Автор: t_gran 30.4.2008, 04:31 |
| 4eJIoBekMoJIekyJIa, а по твоему void * это что такое? Для справки: void * - указатель на не определённый тип, а значит работать будет с теми данными (такого типа), которые ты передашь. Добавлено через 5 минут и 41 секунду Кстати http://forum.vingrad.ru/forum/topic-208794/kw-список-void-указатель.html эта проблема как раз и обсуждается. |
| Автор: GrayCardinal 30.4.2008, 09:00 |
| MAKCim, А просто (vector<MyStruct> *) не прокатит ? |
| Автор: MAKCim 30.4.2008, 09:30 |
тут как бы С++ оно прокатит, но при использовании С++ лучше использовать конструкции С++ имхо |
| Автор: GrayCardinal 30.4.2008, 09:34 |
| MAKCim, Согласен. Надо учиться конструкциям Си++ |
| Автор: JackYF 30.4.2008, 12:34 |
| MAKCim, первый из static_cast'ов не нужен |
| Автор: MAKCim 30.4.2008, 13:46 |
| JackYF, в С++ автоматическое преобразование void* -> T* без предупреждений возможно? по-моему это только в С |
| Автор: 4eJIoBekMoJIekyJIa 30.4.2008, 14:06 | ||
| MAKCim, а можно написать без & ?
|
| Автор: JackYF 30.4.2008, 14:36 | ||||
Блин. Я имел в виду:
|
| Автор: 4eJIoBekMoJIekyJIa 30.4.2008, 15:27 | ||
Слушайте насчет vector, у меня есть программа
если num =2 - выводит 2, если num =3 - выводит 4, если num =4 - выводит 4, если num =5 - выводит 8. Он что при нехватке памяти удваивает ее? И еще, как нибудь можно получить количество элементов списка, или тока самому пересчитывать? |
| Автор: MAKCim 30.4.2008, 17:25 | ||||
в общем случае implementation-specific в данном случае да
vec.size() не катит? 4eJIoBekMoJIekyJIa,
Добавлено через 26 секунд ну да |