类定义在全局区,实例可以在子函数中定义。
++
类定义在全局区,实例在生成时会在栈区生成一个指针,指向堆区,堆区存放该实例的字段及函数指针,函数指针指向类中定义的代码段。
++
当在子函数里面生成一个实例时,该实例的生命周期就只有子函数周期,在子函数结束时,该实例就会结束,相应的堆区资源会释放。但是当在子函数中该实例生成时,假如有一个全局的变量(指针)指向该实例对象,那么在子函数结束时,该实例相应的堆区资源不会释放。依然可以访问。
++
函数指针是这么一类指针,它里面存储的不是变量的地址,而是程序的地址,这里面细微的差别很多,变量的地址位于数据段,而程序的地址位于代码段,另外程序地址对应的程序执行时会涉及到IP的改变以及入栈出栈的一系列操作,好在我们用的不是汇编,不需要了解的如此细致。
PYTHON以及C都可以实现函数指针。PYTHON中实现比较容易,C中有专门的函数指针,可以定义。
类
最新推荐文章于 2023-10-16 17:29:04 发布