On Thu, 8 Mar 2018, Ryan Joseph wrote:



On Mar 8, 2018, at 1:48 PM, Sven Barth via fpc-pascal 
<fpc-pascal@lists.freepascal.org> wrote:

You could use an include file containing both the declaration and implementation controlled by compiler defines together with a macro for the type name.

That’s a nice trick. If those records get adopted something “managed record” 
would be really cool. They’re pretty new and I’m not sure if they’re being used 
yet.

No, this doesn't beg the question, because Object Pascal classes are designed 
in the principle to reduce on the heap. Changing this would not only mean quite 
some changes in the compiler/RTL with no real gain, but it would also change a 
core aspect of the Object Pascal language.

What’s the principle that says classes should always be on the heap?  The
old object style classes used to be on the stack but for some reason they
decided change this to heap only.  I didn’t really think much about it
until I saw how c++ had this optional and then it occurred to me all the
Create…Free blocks I’ve used so often that could just be on the stack
instead.  Point taken about it being lots of work to implement though.

You can still use objects.


Btw can you override the memory manager used for class constructors? If a class 
reused the same block of memory that would have a similar effect and useful for 
tight loops where you’re allocating/deallocating memory over and over again.

You can do this for particular classes by overriding NewInstance.

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

Reply via email to