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());
}

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

相关推荐
独孤留白31 分钟前
从C到Rust:堆内存,数据如何逃逸栈的约束?
rust
doiito(Do It Together)1 小时前
【安全,架构】RustyVault 项目深度分析报告以及和HashiCorp Vault的差异
微服务·架构·rust
问窗2 小时前
Rust实现Windows本地搜索工具
windows·搜索引擎·rust
程序员爱钓鱼3 小时前
Rust 变量与不可变性:为什么默认不能修改变量?
前端·后端·rust
第一程序员14 小时前
Rust Agent 子进程执行:Command 之前,先定义输入和超时
python·rust·github
IT笔记16 小时前
【Rust】Rust Match 模式匹配详解
java·开发语言·rust
取地址符20 小时前
Rust学习笔记(基于Rustlings)(2):数据结构与集合
笔记·学习·rust
取地址符21 小时前
Rust语法学习 (基于Rustlings)(1):基础语法
经验分享·笔记·学习·rust
记忆着1 天前
Rust基础入门二
rust