首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Rust不让我比较Foo和an &Foo呢?

Rust不允许直接比较Foo&Foo的原因是因为它们是不同的类型。Foo是一个具体的类型,而&Foo是一个指向Foo类型的引用。

在Rust中,比较操作符(如==!=)的实现是由类型自身决定的。为了进行比较,两个操作数的类型必须匹配。对于Foo&Foo来说,它们是不同的类型,因此不能直接进行比较。

如果你想比较Foo&Foo,你可以通过解引用操作符*将引用转换为具体类型,然后再进行比较。例如,你可以使用*操作符将&Foo解引用为Foo类型,然后再进行比较。

另外,Rust还提供了一些其他的比较方法,如实现PartialEqPartialOrd trait来定义自定义的比较行为。通过实现这些trait,你可以在自定义类型上定义比较操作符的行为,使其能够与其他类型进行比较。

总结起来,Rust不允许直接比较Foo&Foo是因为它们是不同的类型,你可以通过解引用操作符将引用转换为具体类型,或者通过实现PartialEqPartialOrd trait来定义自定义的比较行为。

相关搜索:变量"foo_class“不是有效的类型,但是为什么呢?为什么我不能说print $ somehash {$ var} {fh}"foo"?Django Rest框架:序列化程序中的get_FOO_display不让我发布php函数foo(数组$ arg = NULL) - 为什么数组和NULL?为什么我是否调用foo函数会对结果有影响?为什么我不能做a和b的和呢?我发现这是一个旧的代码库,我想知道它是否合法: if ($foo =~ "bar“和"baz") {我在foo.py中有一个functionA,它在同一个foo.py中导入另一个functionB。为什么不重复调用functionA导入functionB?在Rust中,我需要什么特征来比较泛型和整数为什么我不能使用#if比较宏和枚举?为什么我在这段代码中会得到一个很大的整数和呢?我需要同时使用isset()和$post_variable="value“吗?为什么不只是后者呢?为什么我的Linq Oracle DB查询不能正确地比较时间戳和日期时间?为什么我的代码不能比较第一个和最后一个数字?imshow窗口在我把连接python和arduino的代码放入循环后没有响应,这是为什么呢?在R中使用ggplot2和图例将不会出现在我的图中。为什么会这样呢?为什么火狐和Chrome在tabs.Tab.favIconUrl上会返回不同的结果?我该如何解决这个问题呢?如果选择排序和冒泡排序算法的成本都是O(N2),那么为什么我的代码中没有反映出来呢?我用来反转数组的C函数在连续运行后用随机数填充第一个和最后一个索引。为什么会这样呢?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券