导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2018/11/8 19:25:59
标题:
Delphi 10.3终于增加了自动管理的record
浏览:2619
加入我的收藏
楼主:
也就是说终于可以自己写我自己的string类,array类,算法类比如BigInteger之类的。 之前的record必须手动初始化,分配的内存必须手动调用析构函数。有用Interface+record实现的,但是都是隔靴搔痒。 http://blog.marcocantu.com/blog/2018-november-custom-managed-records-delphi.html 后面如果再能增加一个引用类型,那么就完美了。各种泛型容器就不用绕开去用指针达到减少复制的目的了。
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
bmsr (白忙剩人)
★☆☆☆☆
-
普通会员
2018/11/8 23:29:45
1楼:
BigInteger 是什么? int128? 自己的类一直都可以写呀. http://blog.sina.com.cn/s/blog_53866d7501015suw.html
----------------------------------------------
http://blog.sina.com.cn/bmsrnote
作者:
2018/11/9 8:41:47
2楼:
这个要点赞!
----------------------------------------------
-
作者:
2018/11/9 9:05:43
3楼:
支持!
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2018/11/9 11:23:57
4楼:
可以可以,写代码可以越来越懒了
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
作者:
msfm (清洁工)
★☆☆☆☆
-
盒子活跃会员
2018/11/9 15:28:36
5楼:
不明觉厉啊
----------------------------------------------
-
作者:
ivvn (奔腾的心)
★☆☆☆☆
-
普通会员
2018/11/9 17:09:16
6楼:
武大一般说的好像官方都去做了
----------------------------------------------
-
作者:
2018/11/9 19:19:44
7楼:
我要是有那么NB,我说的特性早就做了。有些特性我提议了快十年了。
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
2018/11/9 20:02:40
8楼:
看了一下, 没有搞明白赋值时(The Assign Operator) 或 作为参数传递时复制一个实例时(Copy Constructor) 要使用不再的构造函数, 很久之前看过深入浅出C++,记得上面有解释, 时间长了记不得了.
----------------------------------------------
UniKeeper V10.40 -- 您最贴心的个人数据管理助手
作者:
2018/11/9 23:06:43
9楼:
@hardnut (麦轲数据管家) 实际上增加了一个Assign操作符重载,表现就是:=会触发这个重载的函数。 拷贝构造函数是对象发生拷贝的时候发生的。 比如 procedure (arg: T);因为参数是传递值而不是引用或地址的,那么在传递的时候相当于把参数复制了一个。这个时侯就会触发拷贝构造函数。 如果不自定义拷贝构造函数(之前的Delphi就是这种情况)算是浅拷贝,也就是如果T是个结构体,里面有指针,复制出来的T的实例的成员指针跟源的指针指向的都是同一个地址。 而现在支持拷贝构造函数,拷贝的时候就会触发你定义的代码,给你一个做深拷贝的机会,可以把指针在新对象里再分配一个,把源的指向内容复制一份到新的对象上。
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
2018/11/10 8:19:57
10楼:
这个功能好,要顶!!! 比那个随处可以定义变量的好(牺牲了阅读性)。 这其实都是向C++看齐。 如果不和C+打交道,这个功能其实对DELPHI程序员也没有多大影响。类也可以完成。 有当然比没有好,搬砖民工多了一个选择。 选择多了,也不知道是坏事还是好事?
----------------------------------------------
武汉天气不好
作者:
2018/11/12 13:31:48
11楼:
Record 从向 Object 看齐, 转到越来越像 TObject 了
----------------------------------------------
-
作者:
2018/11/12 14:38:55
12楼:
选择多了是好事,总比没得选择好。
----------------------------------------------
-
作者:
2018/11/15 16:46:12
13楼:
http://rvelthuis.de/programs/bigintegers.html var A, B, C, D: BigInteger; begin A := 3141592653589793238462643383279; B := 1414213562373095 shl 10; C := 2718281828459045235360287471352; D := A + B * C; Writeln(D.ToString); BigInteger is a multi-precision integer. Its size is only limited by available memory.
----------------------------------------------
[alias] co = clone --recurse-submodules up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/ >http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
2018/11/15 20:04:26
14楼:
CnPack IDE 专家包的格式化功能也已支持此语法了。
----------------------------------------------
欢迎使用CnPack IDE Wizards http://www.cnpack.org/
作者:
plusv (plusv)
★☆☆☆☆
-
普通会员
2018/11/16 0:41:38
15楼:
BigInteger is a multi-precision integer. Its size is only limited by available memory. 这个最棒.
----------------------------------------------
-
作者:
2018/11/16 9:08:23
16楼:
感谢14楼的大神,这么多年一直默默奉献,给广大Delphi爱好者提供这么好的工具。
----------------------------------------------
-