zoukankan      html  css  js  c++  java
  • delphi 类型转化

    1.typecasting类型强制转化

    var

    B : Boolean;

    Begin

    B := Boolean(1);

    End;

    对于对象和接口,采用as操作符进行转化,但要先进行兼容性判断。

    2.Pointer指针

    Var

            A : Integer;

            P : PBoolean;

            B : Boolean;

           Begin

            A := 1;

            P := @A;//或者函数Addr;

            B := P^;

           End;

    3.Variants可变类型

    Variants变量可以存储任何类型,因此可以作为中转站。

           Var

            V : Variants;

            B : Boolean;

           Begin

            V := 1;

            B := V;

           End;

    4.Variant parts of records变体记录

    所有的变体字段共用一段内存

    type

    TDataConv = record

    case T: Boolean of

    True: (I: Byte);

    False: (B: Boolean;);

    end;

    var

    D: TDataConv;

    begin

    D.I := 1;

    end;

    使用变体记录时要注意:

    (1)变体字段不能是long strings、dynamic arrays、variants、interfaces 等由编译器自动管理内存的类型,也不能是含有上述类型的构造类型,但可以是这些类型和构造类型的指针。

    (2)所有变体字段共享一段内存。而共享内存的大小则由最大变体字段决定。

    (3)当tag 存在时,它也是记录的一个字段。也可以没有tag。

    5.absolute addressing绝对地址

    声明共享一段内存的多个变量,实现类型转化

    var

    I: Integer;

    B: Boolean absolute I;//B和I共享一段内存

    begin

    I := 1;

    end;

    以上方法都是通过数据内存地址操作达到转化。

  • 相关阅读:
    JAVA基础
    常用的快捷键
    [19]Docker01 docker学习环境 虚拟机 Centos 安装
    [18] Python控制台版-体温管理项目
    [17] MySQL数据库--学生管理系统数据库手写SQL实现
    [16] Python控制台版-学生管理系统
    [15]Python内置对象汇总
    [2] 使用PicGo + 码云搭建属于自己的图床
    [1] Django 分页
    [gitgnore]
  • 原文地址:https://www.cnblogs.com/Blogs-young-chan/p/4680110.html
Copyright © 2011-2022 走看看