lifetime

    3

    2答えて

    クロージャーでOptionの内部でまだ借りている間に値が落ちてしまう問題に直面していますが、行っている。説明するために、ここで私が実際に達成しようとしているものの実施例である: fn foo() -> Option<String> { let hd = match std::env::home_dir() { Some(d) => d,

    1

    2答えて

    const参照に関する多くの記事を読んだが、探していたものが見つかりませんでした。 一時変数をconst参照にバインドするメカニズムについての私の仮定を修正して、寿命を延ばすことはできますか? int Foo(){return 3;} int main(){ const int& ref = Foo(); return 0; } Fooレジスタに位置し、通常はその後棄却され、一時的な

    4

    1答えて

    私は完全に寿命を理解していませんが、bの寿命はselfの前に終わると思います。 このコードを編集するにはどうすればよいですか?メモリコピーをしますか?私が新しいインスタンスを作った場合、この生涯はこのケースに従わなければなりません。 pub struct Formater { layout: &'static str, } impl Formater { pub fn n

    2

    1答えて

    一連のボックス化された値に対してイテレータを使用しています。私はこのイテレータを、ボックス化された値への変更可能な参照の上にマップしたいと思います。 以下の簡略化された例は、不変参照に対してこれをどのように達成できるかを示しています。この例はうまくコンパイルされます。 let indices = [0usize, 1usize, 2usize]; let vec = vec![Box::new(

    1

    1答えて

    私はthis crateを使ってRustのLLVMで作業しようとしています。私はコンテキスト、モジュール、ビルダーを保持するコードジェネレータ構造体を作成しようとしていますが、コンパイルしようとすると、エラーメッセージ「c does not live long enough」が表示されます。どのようにしてこれをコンパイルすることができますか?また、Cが十分​​に長く生きていないのはなぜですか? コ

    3

    1答えて

    私はボックス型(Foo)の構造体Aと、Rc<RefCell<A>>というという別の構造体を持っています。私はBoxedAのメソッドを作成しようとしていますが、それはボックス化された特性への参照を返しますが、Ref<A>をRef<Foo>にマッピングすると寿命に問題はありません。ここで は私のコードです: use std::rc::Rc; use std::cell::{RefCell, Ref}

    4

    2答えて

    1つのパラメータと同じ寿命で関連付けられた型を返す関数で特性を定義しようとしています。 概念的には(動作しない:lifetime parameter not allowed on this type [Self::Output]):次のようなもの trait Trait { type Output; fn get_output<'a>(&self, input: &'a i32

    3

    1答えて

    c_strange_tは、ポインタの後ろにしか見えない不透明なCタイプです。このタイプをラッピングする場合、c_free_strange_t(*c_strange_t)を使用してメモリを解放するのは私どもの責任である場合があります。また、データを解放する責任がない場合は、正確に寿命を管理する責任があります。 このタイプをがあるstrおよびStringと同様の方法で動作するRustの2つのタイプにマ

    0

    1答えて

    配列に要素を追加する関数(f1)を作成しようとしています。ここで は私の錆コードです: use std::mem; struct T1<'a> { value: &'a str, } fn main() { let mut data: [T1; 1] = unsafe { mem::uninitialized() }; f1("Hello", &mut da

    0

    1答えて

    const参照に関していくつかの説明が必要です。 this linkから: const Foo &myFoo = FuncBar(); const参照は、ローカルオブジェクトの寿命を延長しました。しかし、彼らはconst参照を使用しましたが、私は増加しなかった「4」 Sandbox(const string& n) : member(n) {} 文字列の寿命をthis linkをチェックし