C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

struct

Rust の impl で pub る fn の第1引数の定義の方法と効果のメモ

主題 Rust の impl な fn の第1引数、つまり: struct S { } impl S { fn f(❤ここ❤) { } } ❤ここ❤ の部分の書き方と、書き方に応じてどのような効果、意図として扱われうるかを整理します。 fn f() fn f(self) fn f(mut self) fn f(&self) fn f(&mut self) す…

C#: null れる class と null れない struct いずれの可能性もある object を as<T> したい場合の限界、あるいは C# らしい結論

// これはコンパイルできない(´・ω・`) // object -> T static public T As<T>( object o ) { return o as T; } // as T できるためには T に class 制約が必要。これはコンパイルできるし、期待動作するかもしれない。 // object(class=nullれる何か) -> T st</t>…

rust: 任意の Primitive, struct, Vec<T> などのメモリーイメージを Vec< u8 > (≃ &[ u8 ] ) なバイト列として取得する方法

// for rust-1.27.2(stable) use std::mem; use std::io::Write; fn main() { { // f64 (primitive) -> Vec< u8 > let f = 1.0f64; let view = &f as *const _ as *const u8; let slice = unsafe { std::slice::from_raw_parts( view, mem::size_of::< f64 >…