【问题标题】:Comparing arrays in vala比较vala中的数组
【发布时间】:2010-06-25 18:47:07
【问题描述】:

我刚刚在vala中尝试了以下,断言失败。

int[] x = {1,2};
int[] y = {1,2};
assert( x == y );

我想 Vala 比较的是 x 和 y 的内存位置,而不是数组的内容。有没有一种简单的方法来比较两个数组而不必在 vala 中循环它们?

【问题讨论】:

    标签: arrays comparison vala


    【解决方案1】:

    生成的 C 代码确实比较了数组指针:

    g_assert (x == y);
    

    struct 正在被深入比较,因为它们被认为是“价值”类型。数组是一种“引用”类型,当您进行赋值或函数调用时,它不会被深度复制(它不在堆栈上)。

    确实,您必须遍历元素。

    对比较数组和集合的支持可能值得添加Gee

    【讨论】:

      猜你喜欢
      • 2016-05-10
      • 1970-01-01
      • 2016-01-24
      • 2010-10-17
      • 2016-05-13
      • 2016-02-17
      • 2015-07-10
      • 2013-12-10
      • 2017-10-11
      相关资源
      最近更新 更多