検索

phrase: max: clip:
target: order:
Results of 1 - 10 of about 16 for mem (0.019 sec.)
デストラクタ 12944
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... c; use std::ptr::{drop_in_place, Unique}; use std::mem; use alloc::heap; struct Box<T>{ ptr: Unique<T> } ... elf.ptr); heap::deallocate((*self.ptr) as *mut u8, mem::size_of::<T>(), mem::align_of::<T>()); } } } fn m ... c; use std::ptr::{drop_in_place, Unique}; use std::mem; use alloc::heap; struct Box<T>{ ptr: Unique<T> } ... elf.ptr); heap::deallocate((*self.ptr) as *mut u8, mem::size_of::<T>(), mem::align_of::<T>()); } } } stru ...
https://man.plustar.jp/rust/nomicon/destructors.html - [similar]
Final Code 11766
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... rate alloc; use std::ptr::{Unique, self}; use std::mem; use std::ops::{Deref, DerefMut}; use std::marker: ... h should be stripped at compile time. let cap = if mem::size_of::<T>() == 0 { !0 } else { 0 }; // heap::E ... } } fn grow(&mut self) { unsafe { let elem_size = mem::size_of::<T>(); // since we set the capacity to u ... (elem_size != 0, "capacity overflow"); let align = mem::align_of::<T>(); let (new_cap, ptr) = if self.cap ...
https://man.plustar.jp/rust/nomicon/vec-final.html - [similar]
サイズが 0 の型を扱う 10691
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... はコンパイル時に取り除かれるはずです。 let cap = if mem::size_of::<T>() == 0 { !0 } else { 0 }; // heap::E ... } } fn grow(&mut self) { unsafe { let elem_size = mem::size_of::<T>(); // elem_size が 0 の時にキャパシテ ... (elem_size != 0, "capacity overflow"); let align = mem::align_of::<T>(); let (new_cap, ptr) = if self.cap ... r RawVec<T> { fn drop(&mut self) { let elem_size = mem::size_of::<T>(); // サイズが 0 の型のアロケーション ...
https://man.plustar.jp/rust/nomicon/vec-zsts.html - [similar]
RawVec 9704
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... , } impl<T> RawVec<T> { fn new() -> Self { assert!(mem::size_of::<T>() != 0, "TODO: implement ZST support ... ありません fn grow(&mut self) { unsafe { let align = mem::align_of::<T>(); let elem_size = mem::size_of::<T ... n drop(&mut self) { if self.cap != 0 { let align = mem::align_of::<T>(); let elem_size = mem::size_of::<T ... et buf = ptr::read(&self.buf); let len = self.len; mem::forget(self); IntoIter { start: *buf.ptr, end: bu ...
https://man.plustar.jp/rust/nomicon/vec-raw.html - [similar]
リーク 9253
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... せん。実際 Rust には、 これを行なう関数があります 。 mem::forget です。この関数は渡された値を消費し、 そして ... その値のデストラクタを実行しません 。 過去に mem::forget は、リントにおいてアンセーフとしてマークさ ... ner を取り除きますが、デストラクタは呼び出しません mem::forget(drainer); } // しまった、 vec[0] はドロップ ... 振る舞いを得ることが出来ます。 しかし、もし 大胆にも mem::forget がイテレーションの真ん中に存在したら、 この ...
https://man.plustar.jp/rust/nomicon/leaking.html - [similar]
トランスミュート 8716
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... です。ここではガードレールは爪楊枝のように脆いです。 mem::transmute<T, U> は型 T の値を受け取り、その値が型 ... ランスミュートは 無制限のライフタイム を生成します。 mem::transmute_copy<T, U> は、どうにかして transmute よ ... T よりも大きい場合、未定義動作を引き起こしますが、 mem::transmute の サイズチェックはなくなっています ( T ... フタイム , transmute , サイズ , メモリ , チェック , mem , 生成 ...
https://man.plustar.jp/rust/nomicon/transmutes.html - [similar]
IntoIter 8369
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... ァを解放してしまうので、ドロップしないようにします。 mem::forget(self); unsafe { IntoIter { buf: ptr, cap: ... len = (self.end as usize - self.start as usize) / mem::size_of::<T>(); (len, Some(len)) } } そして後方へ ... てドロップします for _ in &mut *self {} let align = mem::align_of::<T>(); let elem_size = mem::size_of::<T ...
https://man.plustar.jp/rust/nomicon/vec-into-iter.html - [similar]
Drain 7919
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... lIter::new(&self); let buf = ptr::read(&self.buf); mem::forget(self); IntoIter { iter: iter, _buf: buf, } ... afe { let iter = RawValIter::new(&self); // これは mem::forget に対する安全策です。もし Drain が forget さ ... = 0; Drain { iter: iter, vec: PhantomData, } } } } mem::forget の詳細は、 リークの章 を参照してください。 ...
https://man.plustar.jp/rust/nomicon/vec-drain.html - [similar]
チェックされないメモリ 7728
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... の問題に対処するパワフルなツールが用意されています。 mem::uninitialized です。 この関数は本当に何もせず、値 ... ット数だけ、 src から dest に コピーします。 (これは memmove と同じです -- 引数の順序が逆転していることに注 ... っていないと見なしているため、若干高速です。 (これは memcpy と同じです -- 引数の 順序が逆転していることに注 ... となります。 #![allow(unused)] fn main() { use std::mem; use std::ptr; // 配列の大きさはハードコードされて ...
https://man.plustar.jp/rust/nomicon/unchecked-uninit.html - [similar]
デアロケーティング 7728
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... 0 { while let Some(_) = self.pop() { } let align = mem::align_of::<T>(); let elem_size = mem::size_of::<T ...
https://man.plustar.jp/rust/nomicon/vec-dealloc.html - [similar]
PREV 1 2 NEXT