C++反汇编第二讲,不同作用域下的构造和析构的识别
目录大纲:
1.全局(静态)对象的识别,(全局静态全局一样的,都是编译期间检查,所以当做全局对象看即可.)
1.1 探究本质,理解构造和析构的生成,以及调用方式(重要,如果不想知道,可以看总结.)
2.对象做函数参数的识别
3.返回值为对象的识别
4.对象为静态局部的识别
5.堆中对象识别
5.1. malloc和new的区别,free 和delete的区别
6.对象数组
6.1, delete对象和 delete[] 对象数组的区别
一丶全局对象的识别对于全局对象,以及全局变量等等.这些初始化,都是在ininterm中初始化的,和全局变量初始化的位置一样,如果不太懂,请看.以前博客链接:
建立高级代码,查看其调用栈.(最后会总结)
高级代码:
class MyTest { MyTest(); ~MyTest(); }; MyTest::MyTest() { printf("111\r\n"); } MyTest::~MyTest() { printf("222\r\n"); } MyTest test(); //创建对象在全局 int main(int argc, char* argv[]) { return 0; }