Форум программистов, компьютерный форум CyberForum.ru

Что значит (type*)var? - C++

Восстановить пароль Регистрация
 
Я-Сергей
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 17
20.09.2013, 15:28     Что значит (type*)var? #1
К примеру, (int*)ololo?
Оригинальная строка, вызвавшая вопрос:
C++
1
dheader_t * header = (dheader_t*)bsp_r;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2013, 15:28     Что значит (type*)var?
Посмотрите здесь:

C++ что значит /=
Что значит? C++
Sleep(8000) - что значит? На что можно заменить в борланд с++? C++
C++ Что значит new ()
C++ Что значит Handle hf? Что в эту функцию нужно передавать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
20.09.2013, 15:30     Что значит (type*)var? #2
Что-то, что содержится в переменной bsp_r (неизвестно какого типа), приводится к типу указателя на dheader_t, и копируется в переменную header этого типа.
Я-Сергей
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 17
20.09.2013, 15:36  [ТС]     Что значит (type*)var? #3
но как быть, если класс dheader_t занимает меньше места, чем bsp_r; - ? Копируется с начала и ровно столько, сколько влезет в header?
Как узнать, что ты взял из переменной именно то, что надо?
Я так подозреваю - bsp_r - скопированный бинарный файл, а dheader_t создан для хранения его шапки.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
20.09.2013, 15:49     Что значит (type*)var? #4
Да, скопируется с начала и ровно столько, сколько влезет в header. А уж как узнать, что взял из переменной именно то, что надо...... это неизвестно.
А что, собственно, "надо" взять? Об этом нужно думать сильно до написания кода.
Я-Сергей
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 17
20.09.2013, 15:55  [ТС]     Что значит (type*)var? #5
я разбираю исходники, авторы явно подумали о том, что надо взять, но они не подумали обо мне, когда их писали.
castaway
Эксперт С++
4847 / 2986 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
20.09.2013, 15:57     Что значит (type*)var? #6
А при чем тут содержимое структуры? Переменной лишь присваивается указатель, сами структуры не копируются.
Это явное приведение типа.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2013, 16:18     Что значит (type*)var?
Еще ссылки по теме:

C++ что значит ?
Что значит ->? C++
C++ Обращение к переменным x[i]var или ['a'+i]Var

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
20.09.2013, 16:18     Что значит (type*)var? #7
Ну разумеется, переменной header присваивается указатель..... А вот что изначально содержится в bsp_r и даже какого типа эта bsp_r - это вот покрыто мраком..... из изначального поста оно неясно.

А насчет "не подумали обо мне" :-) - ну, дык эта.... отмечу, что для опенсорца это совершенно обыденная ситуация..... унылые будни....
Yandex
Объявления
20.09.2013, 16:18     Что значит (type*)var?
Ответ Создать тему
Опции темы

Текущее время: 13:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru