面试题答案
一键面试数据结构设计
// 元组结构体表示圆形,第一个元素为半径
struct Circle(f64);
// 元组结构体表示矩形,第一个元素为长,第二个元素为宽
struct Rectangle(f64, f64);
元组结构体优势
- 简洁性:
- 对于简单图形,像圆形只有一个属性半径,元组结构体
struct Circle(f64);
比普通结构体定义更简洁。如果使用普通结构体,需要写成struct Circle { radius: f64 };
,元组结构体减少了属性命名等冗余代码。
- 对于简单图形,像圆形只有一个属性半径,元组结构体
- 轻量级:
- 从内存角度看,元组结构体本质上和元组类似,在内存布局上相对紧凑。对于有简单属性的图形,在性能敏感的图形渲染场景下,元组结构体可能带来轻微的性能提升。
- 灵活性:
- 元组结构体可以很方便地作为函数参数或返回值。例如,定义一个计算圆形面积的函数
fn calculate_area(circle: Circle) -> f64 { std::f64::consts::PI * circle.0 * circle.0 }
,函数参数传递简单直接。而且在某些情况下,可以像操作元组一样对元组结构体进行解构,使用起来更加灵活。
- 元组结构体可以很方便地作为函数参数或返回值。例如,定义一个计算圆形面积的函数