検索
Results of 11 - 20 of about 32 for mut (0.042 sec.)
- レイアウト 8280
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
サイズが 0 の型を扱う 9.11. Final Code 10. Arc と Mutex の実装 Light (default) Rust Coal Navy Ayu レイア...
良いということになります。 pub struct Vec<T> { ptr: *mut T, cap: usize, len: usize, } fn main() {} そして実...
ているアロケーションに対する生ポインタを持つ場合、 *mut T の代わりに Unique<T> を使用するべきです。 Unique...
ため) T が Send/Sync を実装している場合、継承される *mut T に参照外しをする (つまりコード内では専ら *mut の...
- https://man.plustar.jp/rust/nomicon/vec-layout.html - [similar]
- 参照外し 7974
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
サイズが 0 の型を扱う 9.11. Final Code 10. Arc と Mutex の実装 Light (default) Rust Coal Navy Ayu 参照外...
rom_raw_parts(*self.ptr, self.len) } } } では DerefMut も実装しましょう。 use std::ops::DerefMut; impl<T>...
DerefMut for Vec<T> { fn deref_mut(&mut self) -> &mut [T] {...
unsafe { ::std::slice::from_raw_parts_mut(*self.ptr, self.len) } } } これで、 len 、 first 、...
- https://man.plustar.jp/rust/nomicon/vec-deref.html - [similar]
- 例外安全性 7813
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
サイズが 0 の型を扱う 9.11. Final Code 10. Arc と Mutex の実装 Light (default) Rust Coal Navy Ayu 例外安...
純な実装です。 impl<T: Clone> Vec<T> { fn push_all(&mut self, to_push: &[T]) { self.reserve(to_push.len())...
を綺麗にします。 struct Hole<'a, T: 'a> { data: &'a mut [T], /// `elt` は new で生成されたときからドロップ...
size, } impl<'a, T> Hole<'a, T> { fn new(data: &'a mut [T], pos: usize) -> Self { unsafe { let elt = ptr:...
- https://man.plustar.jp/rust/nomicon/exception-safety.html - [similar]
- サイズが 0 の型を扱う 7781
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
サイズが 0 の型を扱う 9.11. Final Code 10. Arc と Mutex の実装 Light (default) Rust Coal Navy Ayu サイズ...
なります。 RawVec { ptr: Unique::new(heap::EMPTY as *mut T), cap: cap } } } fn grow(&mut self) { unsafe { l...
self.cap; let ptr = heap::reallocate(*self.ptr as *mut _, self.cap * elem_size, new_cap * elem_size, alig...
is_null() { oom() } self.ptr = Unique::new(ptr as *mut _); self.cap = new_cap; } } } impl<T> Drop for Raw...
- https://man.plustar.jp/rust/nomicon/vec-zsts.html - [similar]
- Drop Check 7555
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
サイズが 0 の型を扱う 9.11. Final Code 10. Arc と Mutex の実装 Light (default) Rust Coal Navy Ayu Drop C...
'a u8); impl<'a> Drop for Inspector<'a> { fn drop(&mut self) { println!("I was only {} days from retireme...
c str); impl<'a> Drop for Inspector<'a> { fn drop(&mut self) { println!("Inspector(_, {}) knows when *not...
<T: fmt::Display> Drop for Inspector<T> { fn drop(&mut self) { println!("Inspector(_, {}) knows when *not...
- https://man.plustar.jp/rust/nomicon/dropck.html - [similar]
- IntoIter 7555
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
サイズが 0 の型を扱う 9.11. Final Code 10. Arc と Mutex の実装 Light (default) Rust Coal Navy Ayu IntoIt...
行しましょう。 Deref の魔法のおかげで、 iter と iter_mut は 既に書かれています。しかし、 Vec が提供できて、...
Iterator for IntoIter<T> { type Item = T; fn next(&mut self) -> Option<T> { if self.start == self.end { N...
oubleEndedIterator for IntoIter<T> { fn next_back(&mut self) -> Option<T> { if self.start == self.end { N...
- https://man.plustar.jp/rust/nomicon/vec-into-iter.html - [similar]
- リファレンス 7523
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
サイズが 0 の型を扱う 9.11. Final Code 10. Arc と Mutex の実装 Light (default) Rust Coal Navy Ayu 参照 こ...
。 参照には 2 種類あります。 共有参照: & 可変参照: &mut 参照は次のルールに従います。 参照のライフタイムが、...
。 内部可変性を持った型の例としては、Cell, RefCell, Mutex, RWLock があります。 これらの型は、実行時の制約を...
ができます。 #![allow(unused)] fn main() { let x = &mut (1, 2); { // x のフィールドを又借りする let y = &m...
- https://man.plustar.jp/rust/nomicon/references.html - [similar]
- ドロップフラグ 7281
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
サイズが 0 の型を扱う 9.11. Final Code 10. Arc と Mutex の実装 Light (default) Rust Coal Navy Ayu ドロッ...
用した 代入では、状況によらずドロップしません。 let mut x = Box::new(0); // let によって新しい変数が生成さ...
れるので、ドロップの必要はありません let y = &mut x; *y = Box::new(1); // 参照外しでは、参照される側...
を持っています。 #![allow(unused)] fn main() { let mut x = Box::new(0); // x は初期化されていないので、単...
- https://man.plustar.jp/rust/nomicon/drop-flags.html - [similar]
- リーク 7249
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
サイズが 0 の型を扱う 9.11. Final Code 10. Arc と Mutex の実装 Light (default) Rust Coal Navy Ayu リーク...
ます! 安心! それでは以下の例を考えてみましょう。 let mut vec = vec![Box::new(0); 4]; { // ドレインを開始しま...
す。 vec にはもうアクセスできません let mut drainer = vec.drain(..); // 2 つの値を引き出し、即...
た Rc の実装を確認しましょう。 struct Rc<T> { ptr: *mut RcBox<T>, } struct RcBox<T> { data: T, ref_count:...
- https://man.plustar.jp/rust/nomicon/leaking.html - [similar]
- ライフタイム 7249
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
サイズが 0 の型を扱う 9.11. Final Code 10. Arc と Mutex の実装 Light (default) Rust Coal Navy Ayu ライフ...
可変参照の別名付け もう一つの例はどうでしょう。 let mut data = vec![1, 2, 3]; let x = &data[0]; data.push(...
4); println!("{}", x); 'a: { let mut data: Vec<i32> = vec![1, 2, 3]; 'b: { // スコープ...
b i32 = Index::index::<'b>(&'b data, 0); 'c: { // &mut は長生きする必要が無いので、一時的なスコープ 'c が...
- https://man.plustar.jp/rust/nomicon/lifetimes.html - [similar]