RE: Basic types: objects or not?



Hi John,
that is a really excellent article. So when static value types are
allocated are they boxed and stored on the heap, or just stored in the heap
as a value?

Thanks
Mark.

"Jon Skeet [C# MVP]" wrote:

> Mark R. Dawson <MarkRDawson@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> <snip>
>
> > Value types are stored on the stack (one of the
> > types of areas of memory allocated to a process), the stack also stores
> > function parameters when you make a function call and return pointers to
> > allow the program to know where it needs to jump back to after a function
> > call.
>
> Stacks aren't only stored on the stack, and this description has caused
> numerous people problems in the past. See
> http://www.pobox.com/~skeet/csharp/memory.html
>
> --
> Jon Skeet - <skeet@xxxxxxxxx>
> http://www.pobox.com/~skeet
> If replying to the group, please do not mail me too
>
.



Relevant Pages

  • Re: Buffer over-run vulnerabilities
    ... > been changed to jump to the inserted code. ... I must admit I hadn't thought about the stack angle (too long since ... this type of vulnerability will exist, if you don't check your data ... > of the heap var. ...
    (comp.os.linux)
  • Re: How does managed code work?
    ... Does it work the same way as the native stack with a frame pointer that is the head of a linked list of stack frames where each time we enter a function we create a new stack frame in which new variables are pushed and each time we exit a function the entire stack frame is popped? ... Can someone point me to a discussion of the managed heap? ... How does it prevent memory leaks that occur in COM when two objects reference each other and keep the others reference count nonzero? ... Because objects don't go out of scope, ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Groovy (war Re: [PROST]Re: CDC Plugin fuer Eclipse)
    ... Warum müsste man continuations erlauben Stackvariablen in den Heap zu verschieben? ... Ein activation record speichert die Parameter und lokalen Variablen der Funktion und eine Information, ... Da diese activation records klassischerweise auf einem Stack verwaltet werden, kann man hier Stackspace sparen - Endrekursion ist damit genauso effizient wie eine klassische Iteration mit einem Sprung. ...
    (de.comp.lang.java)
  • Re: Please Explain where will the struct be stored if it is declared inside the Class
    ... forget about structs for a second. ... can be stored either on the stack, or on the heap. ... First, think about the stack. ... A struct would act exactly the same as any of these decimals and ints. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Is MSDN wrong? or I made a mistake? about static member function
    ... the heap" or some such reference. ... shouldn't we have a uniform notation? ... You can tell a heap object from a stack object by ... the result of trying to build a compiler on a tiny computer by someone who wasn't a very ...
    (microsoft.public.vc.mfc)

Quantcast