Create an object at a given address: Difference between revisions

Content added Content deleted
(Added FreeBASIC)
Line 512: Line 512:
;; object
;; object
</lang>
</lang>

=={{header|Rust}}==
In a real program, most if not all of the contents of main would all be in one `unsafe` block, however in this one each unsafe operation gets its own block to emphasize exactly which actions Rust considers unsafe.
<lang rust>use std::{mem,ptr};

fn main() {
let mut data: i32;

// Rust does not allow us to use uninitialized memory but the STL provides an `unsafe`
// function to override this protection.
unsafe {data = mem::uninitialized()}

// Construct a raw pointer (perfectly safe)
let address = &mut data as *mut _;

unsafe {ptr::write(address, 5)}
println!("{0:p}: {0}", &data);

unsafe {ptr::write(address, 6)}
println!("{0:p}: {0}", &data);

}</lang>


=={{header|Tcl}}==
=={{header|Tcl}}==