Visual C++ 2008 的有趣用法系列-- 指针篇

news/2024/7/7 7:33:21

  指针篇 
 今天看了一点关于指针的东西,颇有感触
  

首先,我们需要了解两个概念,一个是托管资源,一个非委托资源。
a.
其中托管资源一般是指被CLR控制的内存资源,这些资源的管理可以由CLR来控制,例如程序中分配的对象,作用域内的变量等。
b.而非托管资源是CLR不能控制或者管理的部分,这些资源有很多,比如文件流,数据库的连接,系统的窗口句柄,打印机资源等等……这些资源一般情况下不存在于Heap(内存中用于存储对象实例的地方)中。

注:CLR的GC功能也只能释放托管资源,对于非托管资源例如窗口,文件和网络连接等,它都只能跟踪非托管资源的生存期,而不知道如何去释放它。这样就会出现当资源用尽时就不能提供资源能够提供的服务,windows的运行速度就会变慢。这样的情况会出现在数据库的连接当中,当你没有显式的释放一个数据库资源时,如果还是不断的申请数据库资源,那么到一定时候程序就会抛出一个异常。所以,当我们在类中封装了对非托管资源的操作时,我们就需要显式,或者是隐式的释放这些资源。而Finalize和Dispose方法分别就是隐式和显式操作中分别使用到的方法。

 对于.NET Framework 来说,提供三种指针:托管指针(Managed pointers),未托管指针(Unmanaged pointers),和未托管函数指针(unmanaged function pionters).

    托管指针:是.NET Framework 架构下的新类型指针,它通过内存的堆(Heap)做管理,亦称为托管对象的句柄(Handle)。公共语言运行时(CLR)具有内存自动回收的机制,指的就是托管指针。一般来说,托管指针以传址方式传递自变量。对于Visual C++ 2008 来说,托管指针表示方法为“^”.
    未托管指针:指的就是传统的C++指针。由于C++程序语言本身的默认值就是未托管程序代码,换句话说,并未涵盖在公共语言规范(CLS)中。

    未托管函数指针:以传统C++指针来提供来提供函数地址,通过CLS的委派方式来改良原有的函数指针。

对于这三种指针平时很少涉及,还需多多揣度。

                                                  2010-05-23 00:16:28


http://www.niftyadmin.cn/n/2427304.html

相关文章

中国互联网的发展历程

今年是中华人民共和国成立70周年,也是中国接入国际互联网的25年,在这25年中,有无数的互联网公司的崛起,打开了中国互联网的市场,从PC互联网到移动互联网的发展更是颠覆了人们对于互联网的一个认识,人们对于…

8088/8086的指令系统相关指令整理

近来无事就将近来做的汇编整理了一下,由于本人刚刚开始接触汇编,各方面还很欠缺,若有不足之处请莫见笑,予以指出,在下感激不尽。由于在下使用的是emu8086,下将8088/8086的指令系统相关指令整理如下&#xf…

中小型教育机构如何提升变的更好

2021年中小机构到底该怎么变,才能让自己可持续发展?有很多人说线下转型线上,也有很多人说学科辅导转型素质教育,又有很多人说自立品牌不如加盟大品牌,还有人说做低龄化的市场。 中小型教育机构应提升优质师资 经过分…

如果redis没有设置expire,他是否默认永不过期?

如果没有设置有效期,即使内存用完,redis 自动回收机制也是看设置了有效期的,不会动没有设定有效期的,如果清理后内存还是满的,就不再接受写操作。 Redis无论有没有设置expire,他都会遵循redis的配置好的删除…

三层架构(3-tier application)

三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。  …

在线教育发展更加规范,前途无量

2020年已经过去,在这个特殊的一年里,经过疫情刺激,学生得到了很好的市场教育,各大在线教育平台高速发展,在线教育行业迎来新一轮的疯狂增长。 艾媒咨询数据显示,2020年在线教育市场规模达4858亿元&#xf…

对现在知识付费现象的思考

近几年来,“知识付费”这个概念红遍大江南北。仿佛是一夜之间,各种知识付费内容兴起,这一方面是解决了年轻人想利用碎片化时间学习的需求;更深层次的原因,其实是从一定程度上缓解了很多城市白领想要提高自己核心竞争力…

发展在线教育 服务人才培养

在线教育在新冠肺炎疫情下得以快速发展,高校要突出重点着力通过融合线上线下教学、依托大数据构建教学质量保障机制、建设高水平在线教育教师队伍以及形成新型高效教学管理和服务体系,共同打造高水平在线教育,服务人才培养根本任务。 突如其来…