可以在编译时确定具体的类型，而 trait 对象主要用于动态多态，可以在运行时确定具体的类型。因此，泛型通常用于函数、结构体、枚举等静态类型的定义中，而 trait 对象通常用于函数参数、返回值、实现动态分发等需要动态类型的场景中。</p>
<p>对于你的问题，如果要将上面的 add 函数改写成使用 trait 对象实现的动态多态，可以将参数类型从泛型 T 改为 trait 对象 dyn std::ops::Add&lt;Outpu