我刚刚在vala中尝试了以下命令,但断言失败。
int[] x = {1,2};
int[] y = {1,2};
assert( x == y );我认为Vala比较x和y的内存位置,而不是数组的内容。有没有一种简单的方法来比较两个数组,而不必在vala中遍历它们?
发布于 2010-06-25 18:47:07
生成的C代码确实比较了数组指针:
g_assert (x == y);struct被深入比较,因为它们被认为是“值”类型。数组是一种“引用”类型,当你进行赋值或函数调用时,它不会被深度复制(它不在堆栈上)。
实际上,您必须循环遍历元素。
在Gee中可能值得添加对数组和集合比较的支持
https://stackoverflow.com/questions/3077626
复制相似问题