随笔 - 807  文章 - 0 评论 - 43 阅读 - 57万

随笔分类 -  const/var/out修饰符/返回值

修饰符(动态String数组篇)--- 常用 解除疑问。
摘要:1.无修饰符 是直接传基本类型的地址过来,并没有把基本类型的指针复制一份入栈,所以一旦修改就是修改原来的值。 2.const 修饰符 与 无修饰符一致。 3.var修饰符 与 上一致。 4.out修饰符(不要初始化,初始化也没有意义) 阅读全文
posted @ 2017-04-10 18:49 del88 阅读(280) 评论(1) 推荐(0) 编辑
修饰符(动态数组篇)
摘要:1.无修饰符 要看成员变量的类型,与基本类型不一致,是直接传基本类型的地址过来,并没有把基本类型的指针复制一份入栈,所以一旦修改就是修改原来的值。 2.const 修饰符 与 无修饰符一致。 3.var修饰符 与 上一致。 4.out修饰符(不要初始化,初始化也没有意义) 阅读全文
posted @ 2017-04-10 18:33 del88 阅读(268) 评论(0) 推荐(0) 编辑
养成良好的编程习惯,一定要给参数加上修饰符。
摘要:经过我写博客的总结: delphi 设计修饰符的目的 就是这样,就是想让你告诉编译器,参数是否会再函数内发生改变,或输出out。所以请养成习惯,不要省略。 1.无修饰符: delphi会当成 unkown 来处理,这个时候 处理的很好,但是效率低(比如string等堆栈式存储的类型,他是会把指针复制 阅读全文
posted @ 2017-04-06 18:13 del88 阅读(205) 评论(0) 推荐(0) 编辑
修饰符(记录篇)
摘要:1.无修饰符 要看成员变量的类型,与基本类型一致,如:Byte,Char的话传值,String的话指针被复制一份入栈。函数内修改的修改也与基本类型一致。如果是值传递的话,修改后 不会影响原来的值。如果是指针传递的话,修改后,堆中会重新分配一块内存,也不影响原来的值。即原来的值不发生改变。 2.con 阅读全文
posted @ 2017-04-06 17:55 del88 阅读(169) 评论(0) 推荐(0) 编辑
修饰符(接口篇)
摘要:1.无修饰符 传指针,指针被复制一份入栈。函数内修改属性值后,仅仅是修改堆中数据的值,并没有复制堆中的数据,这点与string不同,留意。 2.const 修饰符 传指针,指针被复制一份入栈。与无修饰符一致,据说加上const编译器会优化。可加可不加!! 3.var修饰符 直接把变量现在的内存编号传 阅读全文
posted @ 2017-04-06 09:47 del88 阅读(699) 评论(0) 推荐(0) 编辑
修饰符(类篇)
摘要:1.无修饰符 传指针,指针被复制一份入栈。函数内修改属性值后,仅仅是修改堆中数据的值,并没有复制堆中的数据,这点与string不同,留意。 2.const 修饰符 传指针,指针被复制一份入栈。与无修饰符一致,据说加上const编译器会优化。可加可不加!! 3.var修饰符 直接把变量现在的内存编号传 阅读全文
posted @ 2017-04-05 10:47 del88 阅读(283) 评论(0) 推荐(0) 编辑
修饰符(字符篇)
摘要:AnsiChar 与 WideChar,经过测试他们一样,所以仅以WideChar为例: 1.无修饰符 传值,值被复制一份入栈。 栈中内存编号发生变化,说明值被复制了一份入栈。 2.const 修饰符 值被复制一份入栈,函数内不能修改 3.var修饰符 传递过来的是原来值的地址,函数内部可修改,如果 阅读全文
posted @ 2017-02-13 10:57 del88 阅读(285) 评论(2) 推荐(0) 编辑
修饰符(整数篇)
摘要:首先Integer1 无修饰符 integer2 const integer3 var integer4 out 经过测试 int64也是如此。 结论:整型 是传值的,就是说 所有的整型要么值复制一份入栈,要么直接用原来的值,与堆无关。 阅读全文
posted @ 2017-02-11 16:13 del88 阅读(216) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示