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