タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

rustとmemoryに関するryochackのブックマーク (2)

  • Rust FFIにおけるZero-length Array / Flexible Array Memberについて - Qiita

    はじめに この記事では、Cの構造体におけるいわゆるZero-length Array / Flexible Array Member(このイディオム自体知らなかったわけですが)をRustのFFIから扱う際にstd::mem::transmuteを使って強引にキャストしていました。その後いろいろ試したところ、特にtransmuteが必須というわけでもなかった、ということが分かりましたので、現時点で妥当と思うやり方を書いておきます。 (もっといいやり方がありましたらお教えください)

    Rust FFIにおけるZero-length Array / Flexible Array Memberについて - Qiita
  • mutなスマポ (BoxとかRcとかCellとか) - Qiita

    スマートポインタのことをスマポって略してみました。 Rustのポインタ・所有権管理は当にくっっそ面倒もとい厳格です。 使える武器を全部知っておかないと、ちょっとしたプログラムを書くのにも苦労間違いなしです。 だいたいのチュートリアルではBoxとRcの簡単な使い方には触れますが、意外とCellやmut変数の使い方に触れてるものが少ない(ような気がした)ので書きました。 (注:型を読者にわかりやすくするために、変数宣言ではlet a : i32のように型を記入していますが、来ほとんどが省略可能です) mutな参照 let mut a : i32 = 1; { let ref_to_a : &mut i32 = &mut a; *ref_to_a = 32; } println!("a = {}", a); // a = 32 これはまぁ、普通に言語チュートリアルでも出てくるようなプログラム

    mutなスマポ (BoxとかRcとかCellとか) - Qiita
  • 1