목차
pub struct Ticket {
title: String,
description: String,
status: String,
}
// TODO: `todo!()`를 올바른 **스택 크기**로 수정하세요.
#[cfg(test)]
mod tests {
use super::Ticket;
use std::mem::size_of;
#[test]
fn u16_ref_size() {
assert_eq!(size_of::<&u16>(), todo!());
}
#[test]
fn u64_mut_ref_size() {
assert_eq!(size_of::<&mut u64>(), todo!());
}
#[test]
fn ticket_ref_size() {
assert_eq!(size_of::<&Ticket>(), todo!());
}
}
풀이:
pub struct Ticket {
title: String,
description: String,
status: String,
}
// TODO: `todo!()`를 올바른 **스택 크기**로 수정하세요.
#[cfg(test)]
mod tests {
use super::Ticket;
use std::mem::size_of;
#[test]
fn u16_ref_size() {
assert_eq!(size_of::<&u16>(), 8);
}
#[test]
fn u64_mut_ref_size() {
assert_eq!(size_of::<&mut u64>(), 8);
}
#[test]
fn ticket_ref_size() {
assert_eq!(size_of::<&Ticket>(), 8);
}
}
참조는 포인터의 크기만 가지므로, 어떤 데이터를 가리키든 참조 자체의 크기는 usize, 64비트 머신에서 8과 동일하다.