• 指针、引用和句柄


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

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

    其他:

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

  • 相关阅读:
    Ubuntu中root用户和user用户的相互切换
    Linux扩展权限
    計蒜客/填志愿(匈牙利算法)
    計蒜課/排澇(Edmond-Karp)
    計蒜客/數正方形(dp)
    51nodcontest#24 A(xjb)
    計蒜客/节食的限制(01背包)
    計蒜客/小教官(xjb)
    atcoder#073D(枚舉)
    Educational Codeforces Round 20 C(math)
  • 原文地址:https://www.cnblogs.com/lei-zi/p/11872114.html
Copyright © 2020-2023  润新知