【Rust】 Vec<f64>のcapacityを設定する方法

2023/05/17に公開

vec2, vec3の方法はどっちも行けるようだ。
VSCodeのrust-analyzer の機能は、コンパイル前にいろいろ気づかされる点が多くてなかなかよい。

fn vec_allocate(){
	let vec1 = vec![0.0; 5];
	assert_eq!(vec1, [0.0, 0.0, 0.0, 0.0, 0.0]);

	let mut vec2 = Vec::<f64>::with_capacity(5);
	vec2.push(1.0);
	vec2.push(2.0);
	vec2.push(3.0);
	vec2.push(4.0);
	assert_eq!(vec2.len(), 4);
	vec2.clear();
	assert_eq!(vec2.capacity(), 5);

	let mut vec3: Vec<f64> = Vec::with_capacity(1);
	vec3.push(1.0);
	assert_eq!(vec3.len(), 1);

} 

fn main() {
	vec_allocate();
}

Discussion