検索
Results of 1 - 10 of about 12 for elem (0.028 sec.)
- 借用の分割 12363
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
e Link<T> = Option<Box<Node<T>>>; struct Node<T> { elem: T, next: Link<T>, } pub struct LinkedList<T> { he...
e.next.as_mut().map(|node| &mut **node); &mut node.elem }) } } これは可変スライスです。 fn main() {} use s...
e Link<T> = Option<Box<Node<T>>>; struct Node<T> { elem: T, left: Link<T>, right: Link<T>, } pub struct Tr...
{ root: Link<T>, } struct NodeIterMut<'a, T: 'a> { elem: Option<&'a mut T>, left: Option<&'a mut Node<T>>,...
- https://man.plustar.jp/rust/nomicon/borrow-splitting.html - [similar]
- Final Code 12045
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
, cap: cap } } } fn grow(&mut self) { unsafe { let elem_size = mem::size_of::<T>(); // since we set the ca...
pacity to usize::MAX when elem_size is // 0, getting to here necessarily means th...
e Vec is overfull. assert!(elem_size != 0, "capacity overflow"); let align = mem::...
ptr) = if self.cap == 0 { let ptr = heap::allocate(elem_size, align); (1, ptr) } else { let new_cap = 2 *...
- https://man.plustar.jp/rust/nomicon/vec-final.html - [similar]
- サイズが 0 の型を扱う 10683
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
, cap: cap } } } fn grow(&mut self) { unsafe { let elem_size = mem::size_of::<T>(); // elem_size が 0 の時...
が満杯であることを必然的に // 意味します。 assert!(elem_size != 0, "capacity overflow"); let align = mem::...
ptr) = if self.cap == 0 { let ptr = heap::allocate(elem_size, align); (1, ptr) } else { let new_cap = 2 *...
= heap::reallocate(*self.ptr as *mut _, self.cap * elem_size, new_cap * elem_size, align); (new_cap, ptr)...
- https://man.plustar.jp/rust/nomicon/vec-zsts.html - [similar]
- RawVec 9056
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
) { unsafe { let align = mem::align_of::<T>(); let elem_size = mem::size_of::<T>(); let (new_cap, ptr) = i...
f self.cap == 0 { let ptr = heap::allocate(elem_size, align); (1, ptr) } else { let new_cap = 2 *...
= heap::reallocate(*self.ptr as *mut _, self.cap * elem_size, new_cap * elem_size, align); (new_cap, ptr)...
f.cap != 0 { let align = mem::align_of::<T>(); let elem_size = mem::size_of::<T>(); let num_bytes = elem_s...
- https://man.plustar.jp/rust/nomicon/vec-raw.html - [similar]
- 例外安全性 8490
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
ドの方が 良いでしょう。 bubble_up(heap, index): let elem = heap[index] while index != 0 && elem < heap[pare...
parent(index)] index = parent(index) heap[index] = elem このコードでは確実に、それぞれの要素ができるだけ少...
ent(end_index)]: end_index = parent(end_index) let elem = heap[index] while index != end_index: heap[index...
parent(index)] index = parent(index) heap[index] = elem もしユーザ定義のコードでトラブっても、もう問題あり...
- https://man.plustar.jp/rust/nomicon/exception-safety.html - [similar]
- print.html 8490
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
仮定します。 impl<T> Vec<T> { pub fn push(&mut self, elem: T) { if self.len == self.cap { // この例では重要で...
e { ptr::write(self.ptr.offset(self.len as isize), elem); self.len += 1; } } fn reallocate(&mut self) { }...
t something like Vec? Vec has to manually drop its elements via pure-library code. In general, anything th...
e Link<T> = Option<Box<Node<T>>>; struct Node<T> { elem: T, next: Link<T>, } pub struct LinkedList<T> { he...
- https://man.plustar.jp/rust/nomicon/print.html - [similar]
- デアロケーティング 7676
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
lf.pop() { } let align = mem::align_of::<T>(); let elem_size = mem::size_of::<T>(); let num_bytes = elem_s...
- https://man.plustar.jp/rust/nomicon/vec-dealloc.html - [similar]
- 挿入と削除 7605
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
フトします。 pub fn insert(&mut self, index: usize, elem: T) { // 注意: 全要素の後に挿入しても問題ないため、...
ex); } ptr::write(self.ptr.offset(index as isize), elem); self.len += 1; } } 削除では真逆の事を行ないます。...
- https://man.plustar.jp/rust/nomicon/vec-insert-remove.html - [similar]
- プッシュとポップ 7481
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
るオフセットを使うべきです。 pub fn push(&mut self, elem: T) { if self.len == self.cap { self.grow(); } uns...
e { ptr::write(self.ptr.offset(self.len as isize), elem); } // 絶対成功します。 OOM はこの前に起こるからで...
- https://man.plustar.jp/rust/nomicon/vec-push-pop.html - [similar]