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

 

你可能感兴趣的:(Constructor)