Rustとか言うダブスタ言語 (173レス)
前次1-
抽出解除 レス栞

158
(2): 2024/10/22(火)20:10 AAS
// MCopyトレイトを定義
pub trait MCopy {
fn mcopy(&self) -> Self;
}

// プリミティブ型に対して一括実装
macro_rules! impl_mcopy {
($($t:ty),*) => {
$(
impl MCopy for $t {
fn mcopy(&self) -> Self {
*self
}
}
)*
}
}

// 全てのプリミティブ型に実装
impl_mcopy!(
u8, u16, u32, u64, u128, usize,
i8, i16, i32, i64, i128, isize,
f32, f64,
bool,
char
);

はい、もう何がしたいのか分からないけどプリミティブ型にmcopy実装したから好きにして。
これで読みやすくなる?
167: 2024/10/23(水)07:40 AAS
>>164
このスレでメモリの仕組み理解してないのあなた1人だけよ。ありもしない幻想に囚われてる。

rustどころか他の言語も危ういから無理せずもっと簡単なのから試したほうがいいよ。

一応望みの物は >>158 に置いてあるのでちゃんと使ってよね。
171: 2024/10/25(金)19:17 AAS
>>158
Rustはトレイト境界の指定によりジェネリックで簡潔&安全にこのように書けるよ

trait MCopy {
fn mcopy(&self) -> Self;
}

impl<T: Copy> MCopy for T {
fn mcopy(&self) -> Self {
*self
}
}

fn main() {
let x = 123.45;
let y = x.mcopy();
assert_eq!(x, y);

let x = "abc.de";
let y = x.mcopy();
assert_eq!(x, y);
}

strはCopy実装型ではないけど
&TがジェネリックにCopy実装型なので
&strの文字列も上記のように動作
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.018s