constructor the shared structure in-place

new(mCblk) audio_track_cblk_t();   placement new

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <malloc.h>
 4 
 5 class Student
 6 {
 7     private:
 8         int age;
 9         int grade;
10     public:
11         Student(void)
12         {
13             age = 5;
14             grade = 10;
15         }
16 
17         ~Student(void)
18         {
19             printf("xx\n");
20         }
21 };
22 
23 int main(void)
24 {
25     Student *pStudent = (Student*)malloc(sizeof(Student));
26     char *p = (char*)pStudent;
27 
28     int i = 0;
29     for(i = 0; i < sizeof(Student); i++)
30          *p++ = 0;
31 
32     p = (char*)pStudent;
33 
34     new(pStudent) Student();
35 
36    for(i = 0; i < sizeof(Student); i++)
37    {
38         printf("%u\n", (unsigned int)(*p) & off);
39         p++;
40    }
41    delete pStudent;
42    return 0;
43 }
44 
45 x86结果:
46 5
47 0
48 0
49 0
50 10
51 0
52 0
53 0

 

posted on 2013-05-30 15:23  阿加  阅读(177)  评论(0编辑  收藏  举报

导航