Object layout of C ++/CLI speculative recording

Source: Internet
Author: User

Compared with pure C ++, C ++/CLI supports the creation of hosted reference objects. Hosted objects are allocated and managed by virtual machines. programmers can no longer worry about memory leakage. In fact, to put it bluntly, it is equivalent to creating a memory pool by yourself, and the virtual machine actually does the same.

In CLI, all classes are derived from objects, including values such as int. What is the internal structure of the Object? By studying the vm code, we can see that the structure is as follows:


You can save a handle to a hosted Object as a pointer to the Object, which contains a MethodTable pointer. This MethodTable stores type information and some functions, this is like a virtual function pointer. Many operations are completed through this pointer, such as Allocate (), such as Box (), UnBox (), and so on. What follows MethodTable is real data.

This MethodTable is a core class in the vm. It can perform many operations.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.