zoukankan      html  css  js  c++  java
  • 指针、引用和句柄

    首先要分清是在什么地方讨论,在以前学C时,是这么区分的
    (1)指针是对象在内存中的地址;
    (2)引用是对象的别名,其实质就是功能受限但是安全性更高的指针;
    (3)句柄是指针的指针,句柄实际上是一个数据,是一个Long (整长型)的数据。句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样。

    Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。如果地址总是如此变化,我们该到哪里去找该对象呢?为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的。Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。

    其他:

    引用必须总是引用一个对象,且引用所指向的对象在该引用初始化后不能改变(引用用所指向的对象不能改变,即不能指向另一个对象,引用所指向的对象呗释放后引用也必须被释放),指针可以指向空值;--参见《代码大全(第二版)》P332

  • 相关阅读:
    linux下apache(httpd)安装部署
    基于redis分布式缓存实现(新浪微博案例)
    python--字典
    django(四)
    django(三)
    django(二)
    django(一)
    053(八十)
    053(七十九)
    053(七十八)
  • 原文地址:https://www.cnblogs.com/lei-zi/p/11872114.html
Copyright © 2011-2022 走看看