検索
Results of 11 - 20 of about 29 for let (0.032 sec.)
- ライフタイムシステムの限界 8255
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
&Self { &*self } fn share(&self) {} } fn main() { let mut foo = Foo; let loan = foo.mutate_and_share();...
後のムーブや、借用、`foo`の変更を防ぎます) <anon>:10 let loan = foo.mutate_and_share(); ^~~ <anon>:12:2: 12...
ここで終了しています) <anon>:8 fn main() { <anon>:9 let mut foo = Foo; <anon>:10 let loan = foo.mutate_and...
lf } fn share<'a>(&'a self) {} } fn main() { 'b: { let mut foo: Foo = Foo; 'c: { let loan: &'c Foo = Foo:...
- https://man.plustar.jp/rust/nomicon/lifetime-mismatch.html - [similar]
- 例外安全性 8206
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
コードの方が 良いでしょう。 bubble_up(heap, index): let elem = heap[index] while index != 0 && elem < heap...
つの段階に分割することです。 bubble_up(heap, index): let end_index = index; while end_index != 0 && heap[en...
[parent(end_index)]: end_index = parent(end_index) let elem = heap[index] while index != end_index: heap[...
こんな感じだったでしょう。 bubble_up(heap, index): let elem = heap[index] try: while index != 0 && elemen...
- https://man.plustar.jp/rust/nomicon/exception-safety.html - [similar]
- 型強制 8108
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
e に対する型 U への型強制サイトは以下の通りです。 let 文、 static、 const: let x: U = e 関数に対する引数...
} 構造体リテラル: Foo { some_u: e } 配列リテラル: let x: [U; 10] = [e, ..] タプルリテラル: let x: (U, .....
) = (e, ..) ブロックの最後の式: let x: U = { ..; e } トレイトをマッチさせる場合、型強制...
t: X) {} impl<'a> Trait for &'a i32 {} fn main() { let t: &mut i32 = &mut 0; foo(t); } <anon>:10:5: 10:8...
- https://man.plustar.jp/rust/nomicon/coercions.html - [similar]
- アロケーティング 7880
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
片を考えてみましょう。 #![allow(unused)] fn main() { let x = &mut 0; let y = &mut 0; *x *= 7; *y *= 3; } も...
きさとアラインメントを手動で指定する必要があります。 let align = mem::align_of::<T>(); let elem_size = mem:...
:size_of::<T>(); let (new_cap, ptr) = if self.cap == 0 { let ptr = heap...
出来ます。 // ですからチェックする必要はありません。 let new_cap = self.cap * 2; // 同様に、前にアロケートし...
- https://man.plustar.jp/rust/nomicon/vec-alloc.html - [similar]
- デアロケーティング 7880
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
T> { fn drop(&mut self) { if self.cap != 0 { while let Some(_) = self.pop() { } let align = mem::align_of...
::<T>(); let elem_size = mem::size_of::<T>(); let num_bytes = e...
ケーティング , ライフタイム , メモリ , self , Drop , let , pop , 実装 , cap , コード...
- https://man.plustar.jp/rust/nomicon/vec-dealloc.html - [similar]
- 競合 7831
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
omic::{AtomicUsize, Ordering}; use std::sync::Arc; let data = vec![1, 2, 3, 4]; // Arc にすることで、 他の...
ead::spawn が // ライフタイムを必要とするからです! let idx = Arc::new(AtomicUsize::new(0)); let other_idx...
omic::{AtomicUsize, Ordering}; use std::sync::Arc; let data = vec![1, 2, 3, 4]; let idx = Arc::new(Atomic...
Usize::new(0)); let other_idx = idx.clone(); // `move` によって other_...
- https://man.plustar.jp/rust/nomicon/races.html - [similar]
- リーク 7391
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
あります! 安心! それでは以下の例を考えてみましょう。 let mut vec = vec![Box::new(0); 4]; { // ドレインを開始...
します。 vec にはもうアクセスできません let mut drainer = vec.drain(..); // 2 つの値を引き出し...
allocate がこのように動作したらよいと思いませんか? let ptr = heap::allocate::<RcBox<T>>(); ptr::write(ptr...
確実に終了させます。 使用法は以下のような感じです。 let mut data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; { let...
- https://man.plustar.jp/rust/nomicon/leaking.html - [similar]
- コンストラクタ 7195
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
bool, } enum Bar { X(u32), Y(bool), } struct Unit; let foo = Foo { a: 0, b: 1, c: false }; let bar = Bar:...
:X(0); let empty = Unit; } 以上。これ以外の型のインスタンスを...
, ライフタイム , Default , 意味 , コピー , 提供 , let...
- https://man.plustar.jp/rust/nomicon/constructors.html - [similar]
- 所有権とライフタイム 7146
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
n as_str(data: &u32) -> &str { // 文字列を生成する let s = format!("{}", data); // しまった! この関数内で...
複雑だからです。 例えばこのコードを見てみましょう。 let mut data = vec![1, 2, 3]; // 内部データの参照を取る...
let x = &data[0]; // しまった! `push` によって `data`...
ード , ライフタイム , コンパイラ , スコープ , 証明 , let , ポインタ...
- https://man.plustar.jp/rust/nomicon/ownership.html - [similar]
- リファレンス 7015
- はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ
...
しすることができます。 #![allow(unused)] fn main() { let x = &mut (1, 2); { // x のフィールドを又借りする l...
ドの又貸しが可能です。 #![allow(unused)] fn main() { let x = &mut (1, 2); { // x を 2 つの互いに素なフィール...
ドに又貸しする let y = &mut x.0; let z = &mut x.1; // y と z は生存し...
- https://man.plustar.jp/rust/nomicon/references.html - [similar]