Die Rust documentation ist vage auf bool
Größe.
Ist es garantiert 1 Byte oder ist es nicht wie in C++ angegeben?Ist Bool garantiert 1 Byte?
fn main() {
use std::mem;
println!("{}",mem::size_of::<bool>()); //always 1?
}
Die Rust documentation ist vage auf bool
Größe.
Ist es garantiert 1 Byte oder ist es nicht wie in C++ angegeben?Ist Bool garantiert 1 Byte?
fn main() {
use std::mem;
println!("{}",mem::size_of::<bool>()); //always 1?
}
Rust emittiert i1
auf LLVM für bool
und stützt sich auf alles, was sie produziert. LLVM verwendet i8
(ein Byte), um i1
im Speicher für alle von Rust für jetzt unterstützten Plattformen darzustellen. Auf der anderen Seite gibt es keine Gewissheit über die Zukunft, da die Rust-Entwickler sich bisher weigern, sich auf die bestimmte bool
Darstellung zu verpflichten.
So ist es durch die aktuelle Implementierung garantiert, aber nicht durch irgendwelche Spezifikationen garantiert.
Weitere Informationen finden Sie in this RFC discussion und die verknüpfte PR und Problem.
Insbesondere [dieser Kommentar] (https://github.com/rust-lang/rfcs/pull/954#issuecomment-83811006) was ausdrücklich besagt, dass sie die Repräsentation nicht festlegen wollen. –
Dies steht im Zusammenhang mit http://stackoverflow.com/q/36924530/5189607 – malbarbo