Rust documentation은 bool
의 크기가 모호합니다.
1 바이트가 보장 되나요? 아니면 C++에서와 같이 지정되지 않았습니까?bool은 1 바이트로 보장됩니까?
fn main() {
use std::mem;
println!("{}",mem::size_of::<bool>()); //always 1?
}
Rust documentation은 bool
의 크기가 모호합니다.
1 바이트가 보장 되나요? 아니면 C++에서와 같이 지정되지 않았습니까?bool은 1 바이트로 보장됩니까?
fn main() {
use std::mem;
println!("{}",mem::size_of::<bool>()); //always 1?
}
녹 bool
위해 LLVM에 i1
을 방출하고 생산 무엇에 의존합니다. LLVM은 i8
(1 바이트)을 사용하여 지금 Rust가 지원하는 모든 플랫폼에 대해 i1
을 메모리에 나타냅니다. 반면에, Rust 개발자는 지금까지 특정 bool
표현에 전념하기를 거부 했으므로 미래에 대해서는 확실하지 않습니다.
따라서 현재 구현에서는 보장되지만 사양에 대해서는 보장되지 않습니다.
자세한 내용은 this RFC discussion 및 연결된 PR에서 확인하십시오.
특히 [이 댓글] (https://github.com/rust-lang/rfcs/pull/954#issuecomment-83811006) 그것은 명시 적으로 표현을 묶고 싶지 않다고 명시하고있다. –
관련 항목 : http://stackoverflow.com/q/36924530/5189607 – malbarbo