検索
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]