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

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

Восстановить пароль Регистрация
 
IvanInanovich
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 113
13.05.2013, 16:34     Преобразование (reinterpret_cast) #1
C++
1
2
ifstream infile("person.dat", ios::binary);
infile.read(reinterpret_cast<char*>(&pers),sizeof(pers));
pers - объект класса.

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

reinterpret_cast C++
reinterpret_cast помогите разобраться C++
C++ reinterpret_cast<...>(...)
Reinterpret_cast C++
Оператор reinterpret_cast C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
13.05.2013, 16:48     Преобразование (reinterpret_cast) #2
read принимает указатель на char, читается цельный кусок всех данных объекта.
castaway
Эксперт С++
4837 / 2976 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
13.05.2013, 16:48     Преобразование (reinterpret_cast) #3
Потому что первым параметром infile.read принимает char *, для этого и нужно преобразование.
Ссылка используется для того, чтобы получить указатель на этот объект, и затем преобразовать его в char *
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6156 / 2885 / 281
Регистрация: 04.12.2011
Сообщений: 7,680
Записей в блоге: 3
13.05.2013, 17:17     Преобразование (reinterpret_cast) #4
IvanInanovich, проще говоря, это не ссылка. Ссылка это знак & в объявлении. В этом случае это операция взятия адреса. Например:
C++
1
2
char sumb = 'a';
char *Ptr_ToSumb = &sumb;
Yandex
Объявления
13.05.2013, 17:17     Преобразование (reinterpret_cast)
Ответ Создать тему
Опции темы

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