zoukankan      html  css  js  c++  java
  • 返回值为record类型的函 初始化 内存泄漏 复制

    1、函数需要初始化,否则下次调用函数时,Result还是上次的值,可能会引起误判。但是不会有内存泄漏,即使包含string类型的成员。

    2、如果record包含的都是值类型的成员,比如integer,可以用ZeroMemory或者FillChar,函数多次调用时也不会内存泄漏。

    如果,包含string类型的成员,不能用ZeroMemory或者FillChar,否则函数多次调用时会内存泄漏。

    3、

    procedure ResetRecord(out aRecord; Size: Integer);
    begin
       FillChar(aRecord, Size, 0);
    end;

    对包含string类型成员的record,也能初始化,而且不会内存泄漏。

    Delphi帮助上面说的很清楚:

    同类型的记录之间是可以用赋值来做的,赋值是复制,不是共用一个地址。

    http://www.360doc.com/content/11/0801/09/68419_137087408.shtml

    http://bbs.2ccc.com/topic.asp?topicid=406403

    http://blog.sina.com.cn/s/blog_4820a7ab01000155.html

  • 相关阅读:
    线段的类
    计算三角形的类
    关于狗的类
    [poj2234] Matches Game
    bzoj[2655] calc
    拉格朗日插值和牛顿插值 菜鸟教程
    NOI模拟赛(3.15) sequence(序列)
    NOI模拟赛(3.13)Hike (远行)
    二分图讲解
    NOI模拟赛(3.8)Problem B
  • 原文地址:https://www.cnblogs.com/CodeGear/p/4435538.html
Copyright © 2011-2022 走看看