検索

phrase: max: clip:
target: order:
Results of 11 - 20 of about 20 for ptr (0.033 sec.)
プッシュとポップ 8207
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... 対して drop を呼ぼうとしてしまいます! 正しい方法は、 ptr::write を使う方法です。これは、ターゲットのアドレス ... if self.len == self.cap { self.grow(); } unsafe { ptr::write(self.ptr.offset(self.len as isize), elem); ... モリを未初期化のままにするからです! これに関しては、 ptr::read を必要とします。これは、単にターゲットのアド ... == 0 { None } else { self.len -= 1; unsafe { Some(ptr::read(self.ptr.offset(self.len as isize))) } } } 関 ...
https://man.plustar.jp/rust/nomicon/vec-push-pop.html - [similar]
例外安全性 7698
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... ); for (i, x) in to_push.iter().enumerate() { self.ptr().offset(i as isize).write(x.clone()); } } } } 絶対 ... mut [T], pos: usize) -> Self { unsafe { let elt = ptr::read(&data[pos]); Hole { data: data, elt: Some(el ... fe fn move_to(&mut self, index: usize) { let index_ptr: *const _ = &self.data[index]; let hole_ptr = &mut ... self.data[self.pos]; ptr::copy_nonoverlapping(index_ptr, hole_ptr, 1); self ...
https://man.plustar.jp/rust/nomicon/exception-safety.html - [similar]
print.html 7307
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... ります。 Vec の簡単な実装を見てみましょう。 use std::ptr; // この定義は不完全であることに注意してください。 ... 関するセクションをみてください。 pub struct Vec<T> { ptr: *mut T, len: usize, cap: usize, } // この実装では ... は重要ではありません。 self.reallocate(); } unsafe { ptr::write(self.ptr.offset(self.len as isize), elem); ... メモリアロケータは、 サイズ 0 の割り当て要求には nullptr を返すこと (これはメモリ不足と区別がつきません)に ...
https://man.plustar.jp/rust/nomicon/print.html - [similar]
Drain 7256
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... lice: &[T]) -> Self { RawValIter { start: slice.as_ptr(), end: if slice.len() == 0 { // もし `len = 0` な ... め、 // オフセットを避ける必要があります。 slice.as_ptr() } else { slice.as_ptr().offset(slice.len() as is ... afe { let iter = RawValIter::new(&self); let buf = ptr::read(&self.buf); mem::forget(self); IntoIter { it ...
https://man.plustar.jp/rust/nomicon/vec-drain.html - [similar]
Unsafe と連携する 7171
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... ります。 Vec の簡単な実装を見てみましょう。 use std::ptr; // この定義は不完全であることに注意してください。 ... 関するセクションをみてください。 pub struct Vec<T> { ptr: *mut T, len: usize, cap: usize, } // この実装では ... は重要ではありません。 self.reallocate(); } unsafe { ptr::write(self.ptr.offset(self.len as isize), elem); ...
https://man.plustar.jp/rust/nomicon/working-with-unsafe.html - [similar]
借用の分割 7001
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... > (&mut [T], &mut [T]) { let len = self.len(); let ptr = self.as_mut_ptr(); assert!(mid <= len); unsafe { ... (from_raw_parts_mut(ptr, mid), from_raw_parts_mut(ptr.offset(mid as isize) ...
https://man.plustar.jp/rust/nomicon/borrow-splitting.html - [similar]
PhantomData 6916
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... tely) defined as follows: struct Iter<'a, T: 'a> { ptr: *const T, end: *const T, } However because 'a is ... imulate: use std::marker; struct Iter<'a, T: 'a> { ptr: *const T, end: *const T, _marker: marker::Phantom ...
https://man.plustar.jp/rust/nomicon/phantom-data.html - [similar]
参照外し 6916
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... &[T] { unsafe { ::std::slice::from_raw_parts(*self.ptr, self.len) } } } では DerefMut も実装しましょう。 ... { unsafe { ::std::slice::from_raw_parts_mut(*self.ptr, self.len) } } } これで、 len 、 first 、 last 、 ...
https://man.plustar.jp/rust/nomicon/vec-deref.html - [similar]
デアロケーティング 6610
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... m_size * self.cap; unsafe { heap::deallocate(*self.ptr as *mut _, num_bytes, align); } } } } 関連キーワー ...
https://man.plustar.jp/rust/nomicon/vec-dealloc.html - [similar]
Vec の実装 6610
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... 実際に 別の場において安定版になっていますが ( std::ptr や std::mem は、 多くの intrinsic を含んでいます) ...
https://man.plustar.jp/rust/nomicon/vec.html - [similar]
PREV 1 2 NEXT