I’ve been using a design pattern in my code which I think is probably pretty 
stupid so I’d like to make sure. Assume I have a type like TPoint below and I 
want to set the value I’ll doing something like point := PointMake(x, y). How 
does the compiler handle this? It probably has to allocate some memory on the 
heap so shouldn’t I always be setting values using the alternative 
TPoint.SetPoint? It’s maybe not a big deal but it’s something I’d like to clear 
up if it’s inefficient.

function PointMake (_x, _y: integer): TPoint;
begin
  result.x := _x;
  result.y := _y;
end;

procedure TPoint.SetPoint (_x, _y: integer);
begin
  x := _x;
  y := _y;
end;

same outcome but which is more efficient?

1) point.SetPoint(x, y);

2) point := PointMake(x, y);


Regards,
        Ryan Joseph

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to