Rust
Costanti associate
Ricerca…
Sintassi
- #! [Funzione (associated_consts)]
- const ID: i32;
Osservazioni
Questa funzione è attualmente disponibile solo nel compilatore notturno. Tracking issue # 29646
Utilizzando le costanti associate
// Must enable the feature to use associated constants
#![feature(associated_consts)]
use std::mem;
// Associated constants can be used to add constant attributes to types
trait Foo {
const ID: i32;
}
// All implementations of Foo must define associated constants
// unless a default value is supplied in the definition.
impl Foo for i32 {
const ID: i32 = 1;
}
struct Bar;
// Associated constants don't have to be bound to a trait to be defined
impl Bar {
const BAZ: u32 = 5;
}
fn main() {
assert_eq!(1, i32::ID);
// The defined constant value is only stored once, so the size of
// instances of the defined types doesn't include the constants.
assert_eq!(4, mem::size_of::<i32>());
assert_eq!(0, mem::size_of::<Bar>());
}
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow