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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Я-Сергей
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 17
#1

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

20.09.2013, 15:28. Просмотров 509. Ответов 6
Метки нет (Все метки)

К примеру, (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++
Что значит 10e1 C++
C++ Что значит new ()
C++ Что значит Handle hf? Что в эту функцию нужно передавать
C++ Что значит !переменная
C++ что значит ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2910 / 1238 / 78
Регистрация: 27.05.2008
Сообщений: 3,321
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
Эксперт С++
2910 / 1238 / 78
Регистрация: 27.05.2008
Сообщений: 3,321
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
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 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++ Что значит getch()-48?
Что значит ->? C++
C++ Что значит (int)a
C++ Обращение к переменным x[i]var или ['a'+i]Var
C++ Что значит запись C++

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

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

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

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