gpt4 book ai didi

methods - 静态调用非静态方法

转载 作者:行者123 更新时间:2023-12-03 11:28:53 24 4
gpt4 key购买 nike

由于各种原因,我喜欢像调用常规方法一样将它们称为静态方法,例如,不使用点表示法。 (例如,使用Vec::len( &v )而不是v.len()。)我总是可以使用自己的方法来执行此操作;但是,使用某些属于标准库的方法,由于某些原因,我无法执行此操作。例如,即使Vec::binary_search( &v, &t )进行编译,binary_search也不会编译(“在当前作用域中未找到针对struct std::vec::Vec<_>的函数或名为v.binary_search( &t )的关联项目”)。这是为什么?

最佳答案

那是因为 binary_search is a method of slices, not of Vec
它在Vec上可用,因为 Vec derefs to slice和方法调用了自动反引用(这就是为什么您可以在TBox<T>上调用&T方法的原因,尽管这些方法尚未在Box或引用上实现)。

关于methods - 静态调用非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63295925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com