己知一个record变量,现要建立它的副本(50分)

  • 主题发起人 主题发起人 lhdqz
  • 开始时间 开始时间
L

lhdqz

Unregistered / Unconfirmed
GUEST, unregistred user!
PersonData = record
age:integer;
high:integer;
end;

var PersonData 1,PersonData 2:PersonData;
己知PersonData 1,要使PersonData 2是PersonData1 的副本,
用什么方法
一定要一个个的赋它的成员变量吗?
 
move(PersonData1,PersonData2,sizeof(PersonData));
 
直接賦值:
PersonData2 := PersonData1;
 
move出错了呢?有办法查出来吗?
不过答案己经可接受了。
 
直接赋值也是可以的,针对record也会创建副本.
move是通用的拷贝连续内存块的方法.只要拷贝位置和目标位置及大小正确,怎么会出错呢?
 
賦值之前先分配内存用new(PersonData2)
 
悄悄问一句.
记录也要new吗?
指针要new的。
 
多人接受答案了。
 
后退
顶部