On 08/22/2012 07:27 PM, ext Jason H wrote:
C++ on .NET functions as it does now, however the compiler introduces
the operator of ^ as a type modifier like * (pointer)
^ are handles to managed objects, as * are addresses of objects. The
runtime then handles dereferencing the handles for you. jsut like your
compiler uses the appropriate instructions with a pointer.
Now, here's my crazy idea. If we have small objects - say Qt's
interface classes, and large objects, say Qt's private classes, then
could we do some d-ptr trickery where Qt can reallocate and copy/move
the memory around and reassign a d-ptr? We can't get all the coolness
of .NET's GC, but we can come close, at least for "large" objects
(objects using d-ptrs). We've already talked about the GUI, but what
is more interesting to me is a QObject hierarchy (not necessarily
QWidgets) in that you could say for this large, old tree of objects,
do something that would result in "better" (more contiguous) memory
allocations.
I'm wondering if you are really trying to solve a problem or you just
want to .NETify Qt for the fun of it.
Many developers want to have full control on how and when their memory
allocations/deallocations occurs. If you start to consider adding a GC
into Qt, I think it's time to choose another technology.
As I said, if you are really facing fragmentation or performance
problem, you can handle them in an ad hoc manner, according to your
constraints.
Br,
Adriano
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest