Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
IvanInanovich
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 113
#1

Преобразование (reinterpret_cast) - C++

13.05.2013, 16:34. Просмотров 566. Ответов 3
Метки нет (Все метки)

C++
1
2
ifstream infile("person.dat", ios::binary);
infile.read(reinterpret_cast<char*>(&pers),sizeof(pers));
pers - объект класса.

Возможно глупо, но все же, интересно как в данном случае работает преобразование. Почему здесь присутствует ссылка объекта, а не сам объект?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2013, 16:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразование (reinterpret_cast) (C++):

Преобразование из целого типа в указатель через reinterpret_cast - C++
Только учусь работать на языке с++, поэтому еще очень много чего не понимаю. Я написала программу с динамическими структурами данных...

reinterpret_cast - C++
Подскажите плиз, чем отличается функция reinterpret_cast от static_cast? небольшой пример: const int MAX = 100; // размер буфера ...

reinterpret_cast<...>(...) - C++
Всем привет! Сразу к делу. ВОПРОС: Как преобразовать переменную типа float в указатель типа double; КРАТКОЕ ОПИСАНИЕ...

Reinterpret_cast - C++
Не могу понять к чему тут этот каст и каким образом он влияет на результат. char zxc = ((*(reinterpret_cast&lt;const char*&gt;(&amp;(todo ==...

Reinterpret_cast и указатели - C++
Добрый вечер. Есть вот такая конструкция: *reinterpret_cast&lt;Offsets::UnitGender*&gt;(pPlayerFields + Offsets::Unit::Gender) =...

Оператор reinterpret_cast - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { int x3 = -0x00260305; cout &lt;&lt;hex &lt;&lt;...

3
NoMasters
Псевдослучайный
1764 / 1107 / 73
Регистрация: 13.09.2011
Сообщений: 3,143
13.05.2013, 16:48 #2
read принимает указатель на char, читается цельный кусок всех данных объекта.
2
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
13.05.2013, 16:48 #3
Потому что первым параметром infile.read принимает char *, для этого и нужно преобразование.
Ссылка используется для того, чтобы получить указатель на этот объект, и затем преобразовать его в char *
2
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3142 / 307
Регистрация: 04.12.2011
Сообщений: 8,673
Записей в блоге: 5
13.05.2013, 17:17 #4
IvanInanovich, проще говоря, это не ссылка. Ссылка это знак & в объявлении. В этом случае это операция взятия адреса. Например:
C++
1
2
char sumb = 'a';
char *Ptr_ToSumb = &sumb;
1
13.05.2013, 17:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2013, 17:17
Привет! Вот еще темы с ответами:

По функции reinterpret_cast - C++
Доброго времени суток, коллеги! Навоял вот такой код: #include&lt;iostream&gt; using namespace std; int main() { ...

Как работает reinterpret_cast? - C++
не пойму как работает reinterpret_cast? вот если мне надо например данные привести в бинар для сохранения в файл, я пишу: int value =...

Reinterpret_cast на машином уровне - C++
Привет, кто может обяснить как работает reinterpret_cast на машинном уровне?

Reinterpret_cast массива структур - C++
Добрый день. Есть такая строка: const TypeFoParametr&amp; a = *reinterpret_cast&lt;const TypeFoParametr*&gt;(data); 1) Скажите пожалуйста, если...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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