On Wed, 25 Jan 2012 19:11:36 -0500, Nicolas Silva <nical.si...@gmail.com> wrote:

Hi,

I need to be sure: would the GC collect an object that is still reachable
through a void* pointer ?

No. The current GC does not know anything about type information. It blindly assumes if a pointer points to some block of data, that block of data is still in use.

Also, is there a big difference between casting from Object to T and
casting from void* to T* ?

Well, first of all, what is T? If T is a class, you would not cast void * to T*, you almost never use T* since T is already a reference. You could cast void * to T.

Casting Object to T if T is a class is going to be a dynamic cast, returning null if the object in question is not actually a T. If you know it is a T, then doing a cast to void * first, then to T will circumvent the dynamic cast.

I mean in term of speed. It looks like could be the same difference as
between C++'s dynamic_cast and static_cast but i'd like to be sure as well.

Exactly.

-Steve

Reply via email to