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