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

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

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

    其他:

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

  • 相关阅读:
    Thrust--self-defined(4)
    x86---32汇编(3)---内存寻址模式
    x86---32汇编(2)---局部变量
    x86---32汇编(1)---乘除法
    CUDA--Thrust(3)--List
    CUDA-Thrust(2)--野指针转换
    CUDA-Thrust(1)--函数初始化
    CUDA---Thrust(0)--初始化
    python(13)--Numpy的安装
    20200930 day24 刷题记录
  • 原文地址:https://www.cnblogs.com/lei-zi/p/11872114.html
Copyright © 2011-2022 走看看