![]() |
|
Модераторы: bsa |
![]()
|
|
| champion |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 26.1.2005 Репутация: нет Всего: 2 |
Объясните, что значит (char*) &x ?
Используется в функции записи в файл: file.write( (char*) &x, sizeof(x) ); Как будет производится в данном случае запись в файл? У самого такая мысль. Что это есть побайтовая запись. Берем указатель на память, размером 1 байт, дальше пишем в файл, sizeof(x) байт последовательно. Это сообщение отредактировал(а) champion - 20.7.2010, 19:48 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Все правильно. & дает адрес, (char*) приводит его к адресу на байтовый буфер.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
это все необходимо из-за того, что какие-то умные люди по непонятной причине сделали первый параметр у методов read/write классов-потоков указателем на char, а не на void. Поэтому приходится каждый раз делать двойное преобразование (static_cast<char*>(static_cast<void*>(&x)) - это на случай, если какой умник в последствии переопределить оператор &).
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |