169 похожих чатов

Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record

S: Byte;
E: Byte;
end;
var
a, b: TStartEnd;
begin
{1} a.S := 1;
{2} a.E := 2;

{3} b := a;

{4} a.S := 3;
{5} a.E := 4;
end;
Подскажите, я правильно понимаю, что на 4-ой операции происходит новое выделение памяти для переменной a?

10 ответов

45 просмотров

Нет, выделение памяти было на строчке 3, для переменной b. Здесь операция копирования

Руслан Михайлович- Автор вопроса
Hemul GM
Нет, выделение памяти было на строчке 3, для перем...

Копирование вместе с S и E, или только копирование ссылки в b?

Руслан Михайлович- Автор вопроса
Hemul GM
Копирование данных, не ссылки

А для чего ж тогда записи нужны? В чём смыл?

Hemul GM
Нет, выделение памяти было на строчке 3, для перем...

На строке 3 копирование памяти, а не выделение

Green
На строке 3 копирование памяти, а не выделение

Компилятор вполне может не выделять память до момента использования

Hemul GM
Я так и написал

Не так написал

Hemul GM
Компилятор вполне может не выделять память до моме...

Это частный случай оптимизации, не имеет отношения к вопросу

Похожие вопросы

Обсуждают сегодня

Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Evo 1.4.34 PHP 7.4 Все работало штатно. На ровном месте SimpleGallery начал выдавать ошибку Что может быть? Уже все переустановил по новой. Места хватает. Хостинг reg.ru
Paul Savchenkov
6
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
юзеры Jetpack Compose тут?
Qtless Qtless
8
Карта сайта