delphi 快速拷贝阵列和有效编码[已关闭]

gz5pxeao  于 2023-06-22  发布在  其他
关注(0)|答案(1)|浏览(89)

已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

12天前关闭
Improve this question
什么是最短的(nr. LoC)&使用此数组定义复制数组的最快(性能)方法

Type  TPointSet = Array [1 .. 300] of TPoint;

 var  set1, set2 :  TPointSet;

 set2 := set1; //  not working , no compiler error

我不想循环我的数组并复制每个元素,有更好的选择吗?

u5i3ibmn

u5i3ibmn1#

就像安德烈亚斯说的

set2 := set1;
  • 做 * 工作(如果定义为您的问题)。你凭什么认为不是?

它需要工作的是set 1和set 2 * 必须 * 被定义为相同的类型 identifier,而不仅仅是相同的 type
这意味着

var  set1 : Array [1 .. 300] of TPoint;
      set2 : Array [1 .. 300] of TPoint;

 set2 := set1; //  not working , compiler error
  • 将 * 失败,因为它们是相同的 * 类型 *,但不是相同的类型 * 标识符 *。这里的区别在于 type(可以是多个单词/标记)和 identifier(总是单个单词/标记)之间。

(有些情况下,尽管类型不是相同的 identifier,但在大多数情况下,如果你想让该类型的不同变量之间的类型赋值兼容,你应该为该类型定义一个特定的类型 identifier,并在所有变量上使用它,你需要能够彼此赋值兼容)。

相关问题