[fpc-pascal] record helpers how they effect records

2015-06-08 Thread David Emerson

using a simple record, e.g.

some_record_type = record
  a, b : longint;
  end;

If I declare a record helper, does this change the record in any way? 
i.e. does the record take any more space when passed as a function 
parameter? Does it become somehow like an object, and need to be 
allocated? Or is the helper more like a language shortcut/convenience, 
where the compiler still treats the record the same way, and declaring 
and using the helper is equivalent to declaring and using a function 
that takes the record as a parameter?


I'm using mode objfpc

Thanks!
~David


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


Re: [fpc-pascal] record helpers how they effect records

2015-06-08 Thread luiz americo pereira camara
I'd like to extend the question to class helpers, i.e.,  declaring and
using the helper is equivalent to declaring and using a function that takes
the class instance as a parameter?

Luiz
Em 08/06/2015 17:52, David Emerson dle...@angelbase.com escreveu:

 using a simple record, e.g.

 some_record_type = record
   a, b : longint;
   end;

 If I declare a record helper, does this change the record in any way? i.e.
 does the record take any more space when passed as a function parameter?
 Does it become somehow like an object, and need to be allocated? Or is the
 helper more like a language shortcut/convenience, where the compiler still
 treats the record the same way, and declaring and using the helper is
 equivalent to declaring and using a function that takes the record as a
 parameter?

 I'm using mode objfpc

 Thanks!
 ~David


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

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

Re: [fpc-pascal] record helpers how they effect records

2015-06-08 Thread Michael Van Canneyt



On Mon, 8 Jun 2015, David Emerson wrote:


using a simple record, e.g.

some_record_type = record
 a, b : longint;
 end;

If I declare a record helper, does this change the record in any way? i.e. 
does the record take any more space when passed as a function parameter? Does 
it become somehow like an object, and need to be allocated?


No. It remains a record.

Or is the helper 
more like a language shortcut/convenience, where the compiler still treats 
the record the same way, and declaring and using the helper is equivalent to 
declaring and using a function that takes the record as a parameter?


Yes, this is correct. It's syntactical sugar. The basic layout of a record is 
not changed.

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


Re: [fpc-pascal] record helpers how they effect records

2015-06-08 Thread Michael Van Canneyt



On Mon, 8 Jun 2015, luiz americo pereira camara wrote:



I'd like to extend the question to class helpers, i.e.,  declaring and using 
the helper is equivalent to declaring and using a function that takes the class 
instance
as a parameter?


Yes, with the proviso that the scoping rules are somewhat different.

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