rust std::mem::size_of::<&str>()中获取&str类型长度问题?

size_of 后边为什么要双冒号,然后跟泛型参数?
从java过来的不太懂这个代码的书写方式, 能帮忙解释下吗?

阅读 2.5k
2 个回答

rust的语法就是这样的:

A function call with explicitly specified type parameters looks like: fun::<A, B, ...>().

std::mem::sizeof 是一个泛型函数,::<&str> 用来显式指明泛型函数的模板参数。

因为在 C/C++/Rust 这样的语言中,sizeof 要求返回常量,即在编译时就能明确的计算出结果,编译器会直接将计算结果(而不是计算过程)写入到程序中。

所以它的参数就必须是在编译时就确定尺寸的类型

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进