検索

phrase: max: clip:
target: order:
Results of 1 - 10 of about 12 for elem (0.021 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]
IntoIter 7428
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... mut *self {} 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-into-iter.html - [similar]
PREV 1 2 NEXT