Russian Qt Forum
Ноябрь 23, 2024, 10:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: помогите понять смысл написанного  (Прочитано 2658 раз)
helga1917
Гость
« : Октябрь 17, 2013, 09:41 »

есть несколько записей, которые я не могу понять, помогите, пожалуйста, разобраться :

1)
Код:
void* CfgFile;                                        //указатель на буфер с загруженным конф. файлом
char* FilePtr = NULL;
FilePtr = & ((char*) CfgFile) [sizeof (HEADER)];   //HEADER - структура с данными

2)
Код:
 
VAR* Table = NULL; //VAR - структура с данными
VarValues* Variable = (VarValues*) new VarValues (Table -> Name);   
//здесь не понятно какую роль играет (VarValues*) перед new? почему в скобках?

3)
Код:
PARAMS* VarTable = NULL;  //PARAMS - структура с данными
VarTable = (PARAMS*) (sizeof (HEADER));   
Записан
RedDog
Гость
« Ответ #1 : Октябрь 17, 2013, 10:03 »

Такое надо на гвнокод.ру пастить/
А по теме:
1. Берет адрес у некоего объекта, и присваивает его другому, в результате 2 переменные в одно и то же место указывают.
2. конструктор VarValues видимо принимает в качестве аргумента Table -> Name, но в приведенной коде АВ будет, т.к. VAR* Table = NULL;
3. Местный какой то фольклор, не поддается логическому обоснованию без контекста.
Записан
mutineer
Гость
« Ответ #2 : Октябрь 17, 2013, 10:20 »

1) В результате FilePtr указывает на (CfgFile + sizeof(HEADER)), то есть на sizeof(HEADER) байт правее, чем CfgFile

2) В скобках потому, что это приведение типа. Зачем оно тут надо не очень понятно

3) Очень странно, размер приводится к указателю. Не вижу смысла
« Последнее редактирование: Октябрь 17, 2013, 10:24 от mutineer » Записан
helga1917
Гость
« Ответ #3 : Октябрь 17, 2013, 12:41 »

спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 21.