Rust 学习笔记:关于泛型的练习题

Rust 学习笔记:关于泛型的练习题

Rust 学习笔记:关于泛型的练习题

参考视频:

  1. https://www.bilibili.com/video/BV1JJCVYSEg6

问题 1

答:3。

下面代码能否通过编译?若能,输出是?

rust 复制代码
fn print_slice<T>(v: &[T]) {
    for x in v {
        println!("{}", x);
    }
}

fn main() {
    print_slice(&[1, 2, 3, 4]);
}

答:不能通过编译。T 必须约束为实现了 Display trait 才能 print。

下面代码能否通过编译?若能,输出是?

rust 复制代码
struct Point<T> {
    x: T,
    y: T,
}

impl Point<i32> {
    fn f(&self) -> &i32 {
        &self.y
    }
}

impl<T> Point<T> {
    fn f(&self) -> &T {
        &self.x
    }
}

fn main() {
    let p: Point<i32> = Point { x: 5, y: 10 };
    println!("{}", p.f());
}

答:不能通过编译。因为泛型不可以和具体类型使用同名函数。

相关推荐
q***31831 小时前
Windows安装Rust环境(详细教程)
开发语言·windows·rust
惜棠4 小时前
visual code + rust入门指南
开发语言·后端·rust
n***i954 小时前
Rust在嵌入式系统中的内存管理
开发语言·后端·rust
7***53344 小时前
Rust错误处理模式
开发语言·后端·rust
4***14905 小时前
Rust系统工具开发实践指南
开发语言·后端·rust
5***790010 小时前
Rust在区块链智能合约中的安全实践
rust·区块链·智能合约
q***d17312 小时前
Rust在网络中的协议栈
开发语言·网络·rust
星释12 小时前
Rust 练习册 88:OCR Numbers与光学字符识别
开发语言·后端·rust
星释15 小时前
Rust 练习册 75:ETL与数据转换
开发语言·rust·etl
ndjnddjxn20 小时前
Rust学习
开发语言·学习·rust