検索
Results of 1 - 9 of about 9 for heap (0.091 sec.)
- 例外安全性 13085
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
ループの後に len を設定することが出来ます。 BinaryHeap::sift_up ヒープにおけるアップヒープは Vec を伸ばす...
っと複雑です。擬似コードはこんな感じです。 bubble_up(heap, index): while index != 0 && heap[index] < heap[pa...
rent(index)]: heap.swap(index, parent(index)) index = parent(index) こ...
むしろ、以下のコードの方が 良いでしょう。 bubble_up(heap, index): let elem = heap[index] while index != 0 &...
- https://man.plustar.jp/rust/nomicon/exception-safety.html - [similar]
- デストラクタ 10515
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
ような Drop を書くかもしれません。 #![feature(alloc, heap_api, unique)] extern crate alloc; use std::ptr::{d...
rop_in_place, Unique}; use std::mem; use alloc::heap; struct Box<T>{ ptr: Unique<T> } impl<T> Drop for...
op(&mut self) { unsafe { drop_in_place(*self.ptr); heap::deallocate((*self.ptr) as *mut u8, mem::size_of::...
し、このコードは動かないでしょう。 #![feature(alloc, heap_api, unique)] extern crate alloc; use std::ptr::{d...
- https://man.plustar.jp/rust/nomicon/destructors.html - [similar]
- アロケーティング 9598
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
込んでいます。 標準ライブラリでは実際にこれを alloc::heap::EMPTY として公開しています。 null を使ってしまうと...
うけれども、実際の アロケーションが存在しないために heap::EMPTY を使用したい箇所がかなり 多く存在します。 そ...
れでも全ての heap の API は、 heap_api フィーチャの下で、 全くアンス...
テーブルです。自ら heap::EMPTY を定義してしまうことも 出来るでしょうが、結...
- https://man.plustar.jp/rust/nomicon/vec-alloc.html - [similar]
- Final Code 8933
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
e Final Code #![feature(unique)] #![feature(alloc, heap_api)] extern crate alloc; use std::ptr::{Unique, s...
erefMut}; use std::marker::PhantomData; use alloc::heap; struct RawVec<T> { ptr: Unique<T>, cap: usize, }...
if mem::size_of::<T>() == 0 { !0 } else { 0 }; // heap::EMPTY doubles as "unallocated" and "zero-sized al...
location" RawVec { ptr: Unique::new(heap::EMPTY as *mut T), cap: cap } } } fn grow(&mut sel...
- https://man.plustar.jp/rust/nomicon/vec-final.html - [similar]
- サイズが 0 の型を扱う 8556
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
ションとして保存すればいいのでしょうか? そうさ,勿論 heap::EMPTY さ! ZST に対する操作は、 ZSTがちょうど 1 つ...
if mem::size_of::<T>() == 0 { !0 } else { 0 }; // heap::EMPTY は "アロケートされていない" と "サイズが 0...
味を兼ねることになります。 RawVec { ptr: Unique::new(heap::EMPTY as *mut T), cap: cap } } } fn grow(&mut sel...
let (new_cap, ptr) = if self.cap == 0 { let ptr = heap::allocate(elem_size, align); (1, ptr) } else { let...
- https://man.plustar.jp/rust/nomicon/vec-zsts.html - [similar]
- RawVec 8214
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
ZST support"); unsafe { RawVec { ptr: Unique::new(heap::EMPTY as *mut T), cap: 0 } } } // Vec の時と変更あ...
let (new_cap, ptr) = if self.cap == 0 { let ptr = heap::allocate(elem_size, align); (1, ptr) } else { let...
new_cap = 2 * self.cap; let ptr = heap::reallocate(*self.ptr as *mut _, self.cap * elem_s...
(); let num_bytes = elem_size * self.cap; unsafe { heap::deallocate(*self.ptr as *mut _, num_bytes, align)...
- https://man.plustar.jp/rust/nomicon/vec-raw.html - [similar]
- デアロケーティング 7621
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
が取り除かれています) 。 self.cap == 0 である場合、 heap::deallocate を呼んではいけません。 この時、実際には...
(); let num_bytes = elem_size * self.cap; unsafe { heap::deallocate(*self.ptr as *mut _, num_bytes, align)...
- https://man.plustar.jp/rust/nomicon/vec-dealloc.html - [similar]
- リーク 7297
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
Rc<T> { fn new(data: T) -> Self { unsafe { // もし heap::allocate がこのように動作したらよいと思いませんか...
? let ptr = heap::allocate::<RcBox<T>>(); ptr::write(ptr, RcBox { d...
タをドロップしそして解放します ptr::read(self.ptr); heap::deallocate(self.ptr); } } } } このコードは暗黙で微...
- https://man.plustar.jp/rust/nomicon/leaking.html - [similar]
- IntoIter 6974
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
(); let num_bytes = elem_size * self.cap; unsafe { heap::deallocate(*self.buf as *mut _, num_bytes, align)...
- https://man.plustar.jp/rust/nomicon/vec-into-iter.html - [similar]
PREV
1
NEXT