Модератор: Модераторы
type
TAnyArr = array of Byte;
TAnyObj = object
f1: TAnyArr;
end;
var Obj: TAnyObj;
То есть, в FPC New(pRec) по накладным расходам близко к Obj:=TObject.Create? ЗдОрово! Я в Delphi ушёл от классов к записям именно из-за существенной разницы в производительности.Sergei I. Gorelkin писал(а):Всех троих, при условии что они создаются динамически (record и object - с помощью new).
type
TTest1 = packed object
a: integer;
procedure test(ai:integer);
end;
TTest2 = packed object (TTest1)
b: boolean;
c: byte;
procedure test(ai:integer);
procedure test2(ai:integer);
end;
TTest3 = packed object (TTest2)
d: integer;
end;
var
tt1:TTest1;
tt2: TTest2;
tt3:TTest3;
type
PTTest1=TTest1^;
TTest1 = packed object
a: integer;
procedure test(ai:integer);
end;
PTTest2=TTest2^;
TTest2 = packed object (TTest1)
b: boolean;
c: byte;
procedure test(ai:integer);
procedure test2(ai:integer);
end;
PTTest3=TTest3^;
TTest3 = packed object (TTest2)
d: integer;
end;
var
tt1:TTest1;
tt2: TTest2;
tt3:TTest3;
TTest1(tt2).a:=10;
procedure superproc(var obj:TTest1);
.........
superproc(tt3);
PTTest1(указатель)^;
PTTest2(указатель)^;
PTTest3(указатель)^;
zub писал(а):>>1) как можно привести tt2 к tt1, т.е. получить что-то вроде:
>>tt1(tt2).a:=10;
>>в fpc это вызовет ошибку компиляции.
- Код: Выделить всё
TTest1(tt2).a:=10;
type
ttype1 = packed object
a: integer;
end;
ttype2 = packed object(ttype1)
b: integer;
end;
ttype3 = packed record
a: integer;
end;
var
tt1: ttype1;
tt2: ttype2;
Гость писал(а):насколько object совместим с сишной struct.
Гость писал(а):Ещё вопросы, насколько допустимо приведение object к record
Vadim писал(а):Гость писал(а):насколько object совместим с сишной struct.
Если рассуждать здраво (), то сишный struct - это набор разнотипных данных, а object - это набор данных и методов обработки этих самых данных. Так что судите сами насколько совместим struct и object.
Vadim писал(а):Гость писал(а):Ещё вопросы, насколько допустимо приведение object к record
Совершенно бессмысленное занятие... Что-то типа приведение отличного племенного жеребца к мерину...
Гость писал(а):Речь не о смысле или его отсутствии
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12