X



結局C++とRustってどっちが良いの?

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
垢版 |
2023/02/25(土) 09:49:46.74ID:VRyB88xR
C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな?
0900デフォルトの名無しさん
垢版 |
2023/03/31(金) 21:50:12.55ID:RJ6Se/g4
1. 知ったかぶりして嘘をさも本当かのように書き連ねる
2. 間違いを指摘されるとググって必死に正解を探す
3. そしてそんなことは最初から知ってましたというトーンで長文まとめスレを他人のフリして書く

これが複オジメソッド
0901デフォルトの名無しさん
垢版 |
2023/03/31(金) 22:09:18.69ID:RaXhcLNj
>>900
そして話の内容がC++になると複おじにはちんぷんかんぷんなので
調べても間に合わないし、無限に別の間違いを生み出し続けてしまうというw
0903デフォルトの名無しさん
垢版 |
2023/03/31(金) 22:43:55.74ID:e2Ah0StU
>>900
4. 他人のふりして書いた長文まとめも間違っている
というオチ付き
0904デフォルトの名無しさん
垢版 |
2023/03/31(金) 22:50:43.27ID:RaXhcLNj
>>902
その「間違ってる本人」は>>882のことを指していて、間違いがあるのは>>886のことではないと思うが
それはそれとして>>886の間違いを指摘しておくと

あなたC++で「どのvtableを見るべきか」を実行時にしか判断できないケースがあると思ってない? 嘘だよそれ
じゃないと「メソッドの衝突の可能性」なんて話が出てくる理由が無いと思うんだよね
そんなもんは静的に解決されて当然なのだから

ていうかね、参考にしたリンク貼ってくださいよって何回も言ってるでしょう
そのほうがあなたが(もしかすると私が)何を勘違いしているのかという答えにたどり着きやすいですって
いちいちあなたも長文で解説しなくて済むんですよ
0905デフォルトの名無しさん
垢版 |
2023/03/31(金) 23:03:06.56ID:Q5ExbgOu
>>904
間違いがないのに間違いだと言い張る悪い癖はやめたほうがいいよ
冒頭に「Rustについて」と明記していてC++について一切記述していない
もしRustについて記述した>>886に間違いがあると主張するなら指摘してください

> 参考にしたリンク貼ってくださいよ

参考はRust公式ドキュメントとコードのみ
他の解説サイトがあるかどうか調べたこともないので知らない
0906デフォルトの名無しさん
垢版 |
2023/03/31(金) 23:13:20.94ID:oRUGNWak
>>887
間違いがあるとタダで教えてくれるだけでも相当にありがたいことだと認識すべきだぞ
どこがどう間違えてるかをタダで懇切丁寧に教えてもらえると考えるのは甘えでしかない
0907デフォルトの名無しさん
垢版 |
2023/03/31(金) 23:15:00.18ID:RaXhcLNj
>>905
なるほどね?
例えば「検索する必要がない」「メソッドの衝突の可能性は通常時よりも減ったり無くなったりする」は対比的にそれらが「ある」存在に暗に言及しているのだと思ったよ
行間を読んで根本的に何を勘違いしているのか探ろうと思ったが、これはあくまでRustに関する言及でしかないと
「高速」も何と比較してなのか不明で虚しい響きがあるが、高速だというならそうなんだろう

じゃあ私から言えるのはこれだけです

> Rustは常にメソッドが静的に一意に確定する
じゃあRustに動的ディスパッチなんて実装する必要無いじゃん
dyn存在意義無いじゃん
「『トレイトとメソッド名のペア』が一意に確定する」ならそう書かないと、この文脈でこの表現は語弊しか無いよ
0908デフォルトの名無しさん
垢版 |
2023/03/31(金) 23:19:08.47ID:EgdFd66u
自分が長文を書きたいのではなく、相手に自分の真似をさせたいんじゃないか
知らんけど
真似してくれれば人間皆どっちもどっちだと実証されるかも知れないから
0909デフォルトの名無しさん
垢版 |
2023/03/31(金) 23:22:31.74ID:tr7cKY8h
ぽまいら一人一人が要点を絞ってくれ
発散させあってたらきりがないんよ

余計なことは省くこと
余計じゃないものが複数あってもより大事なほうを一つ選んで議論を続行すること
0910デフォルトの名無しさん
垢版 |
2023/03/31(金) 23:22:49.85ID:hy3TCCAc
>>904
メソッド名が衝突した時にどうなるか?どう対応できるか?は
各言語によって異なるから
その説明があるのは普通じゃないか
alias付ける必要があったりなど十人十色
0911デフォルトの名無しさん
垢版 |
2023/03/31(金) 23:28:00.63ID:JG8RdAc0
動的ディスパッチするために必要な間接参照の数はRustもC++も同じで高速とか低速とかないから

Rustは動的ディスパッチを使う場合は必ずポインタ経由になるので構造体のデータを読むのに間接参照が1回必ず入る
これが持ち方の違いによって出る差の一つ
0912デフォルトの名無しさん
垢版 |
2023/03/31(金) 23:50:08.60ID:FlP4pMOX
あ、多重継承のケースがあったか
でもまあ気にするようなオーバーヘッドじゃないよね
0913デフォルトの名無しさん
垢版 |
2023/03/31(金) 23:51:44.88ID:Q5ExbgOu
>>907
後半の指摘については、短い中で詳細まで説明できていないから誤解を与えてしまったもしれないので、そこはすまん
しかしその指摘だとまだ別の誤解されてそうだからその部分についてだけ一応書いておくと
ある型Fooのメソッドmethodの各呼び出しがそれぞれ異なっていてもよくて
Foo::method() なのか
<Foo as Trait1>::method() なのか
<Foo as Trait2>::method() なのかが決まり
Foo::method()がなくてそれ以外が複数で曖昧な時はエラーになるというだけの話
いろんな言語があるからね
0914デフォルトの名無しさん
垢版 |
2023/03/31(金) 23:57:35.53ID:RaXhcLNj
>>913
具体型Fooが確定している状態で動的ディスパッチは絶対に発生しません
dynと目印のついたトレイトオブジェクト経由でしか動的ディスパッチは発生しません
そしてこのときトレイトは確定しているのでメソッド名は衝突しません
だからメソッド名の衝突の話が出てくる意味が分からないと言っているんです
0917デフォルトの名無しさん
垢版 |
2023/04/01(土) 00:04:38.33ID:AdU+jSWJ
>>914
それはRustの基本が理解できていない
トレイトオブジェクトでも当然メソッド名は衝突しうる
なぜ衝突するのかも>>886に書いてあるな
0918デフォルトの名無しさん
垢版 |
2023/04/01(土) 00:04:51.67ID:XaCtro1R
>>900
そのメソッドは迷惑行為なので
間違いを信じそうな人がいる時だけ
レス内容が間違ってることのみを指摘するのが吉
0919デフォルトの名無しさん
垢版 |
2023/04/01(土) 00:09:36.60ID:+ti2a57c
そのムーブはわかってないけどとりあえずケチつけてんだなとしか思わないよ
指摘できないけど誰か論破してくれねーかなっていう情けない感じ
0921デフォルトの名無しさん
垢版 |
2023/04/01(土) 00:12:20.97ID:ktHgE8AY
>>916
>>882が「Rustでは動的ディスパッチを実現するために〜〜」という文脈だったから最初からその範囲の訂正しか書いてないんだと思ったよ
脈絡もなく余計な文章を足すとそれがどういう意図でそこにあるのか理解してもらえないから気をつけようね

>>917
ああ厳密にはそうだね、私が間違っておりました
動的ディスパッチには関係ない文脈で書いた文章だって聞いたんでそこはもうどうでもいいです
0922デフォルトの名無しさん
垢版 |
2023/04/01(土) 00:13:02.49ID:+UQ+9Bf4
>>915
全然焦点じゃないから気にすんな
0923デフォルトの名無しさん
垢版 |
2023/04/01(土) 00:19:53.47ID:78d0gX0o
>>921
だよねー
>>886>>882の間違いを指摘できてるわけでもなく何の意味もない
0924デフォルトの名無しさん
垢版 |
2023/04/01(土) 00:21:52.63ID:AdU+jSWJ
>>921
まだ理解できていないのか?
動的ディスパッチの時こそメソッド名の衝突に対しての処置が重要
そのためどのトレイトのメソッドを呼び出すかを静的に確定するとともに
各トレイトの同名メソッドを区別してvtableのインデックス化をしている
0925デフォルトの名無しさん
垢版 |
2023/04/01(土) 00:32:15.20ID:DyolynIp
>>924
>各トレイトの同名メソッドを区別してvtableのインデックス化をしている
うそーん
ソースを提示してね
0929デフォルトの名無しさん
垢版 |
2023/04/01(土) 00:56:33.36ID:tiKbQym2
>>914
バカだな
動的ディスパッチが行われるときは具体型Fooが確定しているぞ
具体型が確定しているからこそ動的ディスパッチを実行することができる
おまえC++もRustも両方を理解できてねーな
0930デフォルトの名無しさん
垢版 |
2023/04/01(土) 01:55:13.58ID:AdU+jSWJ
>>926
トレイトオブジェクトを扱うためにBoxは不要
ヒープを使うのは必要性があるときのみ

求められているのは俺が書いた「各トレイトの同名メソッドを区別してvtableのインデックス化をしている」の部分だろ
それを直接わかるコードを書いた
ただしvtableはpubではないので現状の仕様を強引にアクセス
インデックス値の順序も変わる可能性ありなので注意
macro_rules! vtable_base { ($dyn:expr) => { *(&$dyn as *const _ as *const usize).offset(1) as *const usize } }
macro_rules! vtable { ($dyn:expr, $index:expr) => { unsafe { *(vtable_base!($dyn).offset($index)) } } }

trait TraitA {
fn method(&self);
}
trait TraitB {
fn method(&self);
}
trait TraitAB: TraitA + TraitB {}

struct Foo;
impl TraitA for Foo { fn method(&self) {} }
impl TraitB for Foo { fn method(&self) {} }
impl TraitAB for Foo {}

fn main() {
let foo = Foo;
let dyn_foo: &dyn TraitAB = &foo;
assert_eq!(vtable![dyn_foo, 3], <Foo as TraitA>::method as usize);
assert_eq!(vtable![dyn_foo, 4], <Foo as TraitB>::method as usize);
}

というわけで動的ディスパッチでもメソッド名衝突の話は必要であり>>886の説明で合っている
0931デフォルトの名無しさん
垢版 |
2023/04/01(土) 03:08:57.82ID:TpFQVX+V
>>930
単にvtableが作られることを「vtableをインデックス化してる」と言ってたのね
もう嫌だ
0933デフォルトの名無しさん
垢版 |
2023/04/01(土) 03:16:00.87ID:TpFQVX+V
>>932
どっちでも間違ってる
インデックス化されるのはメソッド
vtableはメソッドがインデックス化されたデータ構造
0935デフォルトの名無しさん
垢版 |
2023/04/01(土) 05:02:11.23ID:J25MoQ6T
C++からメタ言語機能のような黒魔術を無くして使いやすくしたのがRustという認識でよろしいか?
0936デフォルトの名無しさん
垢版 |
2023/04/01(土) 05:11:37.13ID:J25MoQ6T
今月のInterfaceはRust特集だぞ
0937デフォルトの名無しさん
垢版 |
2023/04/01(土) 05:12:17.82ID:J25MoQ6T
C++に挫折した者ども、いまこそRustに集え
0939デフォルトの名無しさん
垢版 |
2023/04/01(土) 06:56:17.26ID:073QzAPe
ディスパッチがどうとか言ってるあいだに1000きそうだぞこれ

なんだかんだで実際は両方使うけど、やっぱ俺はこっち推すぜ! みたいなスレになりつつ
テンプレ用意すんの?
0940デフォルトの名無しさん
垢版 |
2023/04/01(土) 10:28:30.10ID:h8xyCGJ+
>>934
書いてないじゃん
見苦しい嘘つくなよ
0941デフォルトの名無しさん
垢版 |
2023/04/01(土) 10:56:30.89ID:3pQ6SLTI
要するに「へぇ、継承ってのがあるのか、どうやって実現するんやろ?あ、オレならこうするな、でもそれだとこうなってコストメチャメチャかかるじゃん、使えねぇな」と思ってるくちじゃないの?
0943デフォルトの名無しさん
垢版 |
2023/04/01(土) 12:25:26.51ID:ktHgE8AY
>>930
言いたいことは理解した

でもね、そもそも「衝突」は定義だけで発生するものなんですよ
そのコードのmainの中でdyn_foo.method()と書くと発生するエラーは、「名前解決の失敗」と呼ばれます

そしてこの「衝突」の有り無しは、「vtableのインデックス化」に特に影響を与えません
現に片方だけメソッド名を変更しても、同じレイアウトになりますよね
内部的には別トレイトのメソッドなのだから、"method"部分が「衝突」するしないに関係なく区別されます
「衝突」に、vtableに関して特筆すべき重要性は無いと思います
0944デフォルトの名無しさん
垢版 |
2023/04/01(土) 12:47:01.18ID:km+jzk5n
静的型付けをしてればどのメソッド実装を呼び出すか静的に決まるのは当たり前のこと
それを何か特別なことのように変な長文書くからバカにされる
0945デフォルトの名無しさん
垢版 |
2023/04/01(土) 13:18:48.32ID:hxeslJ4Q
C++er あるあるシリーズ
#![allow(unused)]
... = hoge().unwrap;
... = hoge()?;
let p: *const [u8] = &fuga;
unsafe {}
0946デフォルトの名無しさん
垢版 |
2023/04/01(土) 13:25:38.29ID:hxeslJ4Q
>>900
chatGPT そのもののことだな
0948デフォルトの名無しさん
垢版 |
2023/04/01(土) 13:35:01.01ID:hxeslJ4Q
>>937
ほんそれ

C++出来る人はC++使えば良い
C++出来ない人やC++でやらかすうっかりさんだけRust使えば良い
0949デフォルトの名無しさん
垢版 |
2023/04/01(土) 13:38:19.66ID:goAbMbb3
面白いのはC++ちょっとかじったくらいのド素人ほど
なぜかRustに引き寄せられてる気がする
ニワカ人間を引きつける同じニオイがするんだろうなRustには
0950デフォルトの名無しさん
垢版 |
2023/04/01(土) 13:46:59.44ID:WHqiXdwW
C++は底なし沼な感じが良い
未だにModern C++ Designを初めて読んだときの衝撃を上回る
本には出会ったことがない
0951デフォルトの名無しさん
垢版 |
2023/04/01(土) 14:05:07.99ID:goAbMbb3
職業マとアマチュアで感想違うよね
職業マ「C++? 糞の糞糞」
アマチュア「C++? vtableのコスト(キャッキャ)
鼻から悪魔(ウフフフ)膝を撃ち抜く(キャッキャ)CRTP(ウフフ)
0952デフォルトの名無しさん
垢版 |
2023/04/01(土) 14:25:21.95ID:hxeslJ4Q
Javaは糞
C#はチョット良い感じ
Juliaは死んだ
Rustがんがれ
Nimもがんがれ
C++は使い続けるけどね
0953デフォルトの名無しさん
垢版 |
2023/04/01(土) 15:11:33.70ID:rIj/v2ga
>>937
C++に挫折した者ども、いまこそRustに集え
そしてRustに挫折した者ども、いま一度C++に立ち返れ

の方がバランスいいと思う
0954デフォルトの名無しさん
垢版 |
2023/04/01(土) 16:41:11.09ID:HWGbnwVz
>>944
同名メソッドが衝突した時にどうなるかは言語によってかなり異なるから一番重要じゃないかな
衝突が許されない言語と許される場合も条件がある場合もあるよ
衝突があってもエラー出ない言語もあれば特定な時だけエラーな言語もあるね
回避方法も別名定義方式から同名自己定義や直接指定と色々だ
0955デフォルトの名無しさん
垢版 |
2023/04/01(土) 17:25:01.59ID:/8VZFYJJ
Rustが「認め」られたことで、C++のスマポも、べき・べからずが確定したと考えておk?
0957デフォルトの名無しさん
垢版 |
2023/04/01(土) 17:52:08.96ID:/8VZFYJJ
大手が認めたんだから、Rustと同等に書ければ、それはsafeなんだよな?
これまで、C++のスマポは、CppCoreGuidelinesなんてものはあっても、強制されなかった
0958デフォルトの名無しさん
垢版 |
2023/04/01(土) 18:00:21.17ID:WHqiXdwW
Rustに関係なくC++ではスマートポインタを使用すれば安全に書けるし
スマートポインタの使用するしないにRustは全く関係ない?
ここ見てる人は俺も含めてRustに注目してはいるが
C++ユーザのほとんどはRustなど眼中にないだろう
0960デフォルトの名無しさん
垢版 |
2023/04/01(土) 18:06:42.88ID:/8VZFYJJ
強制されるってのがミソだろ Rust派は、Rustなら、必ず・全部安全って言ってるんだからさ
0961デフォルトの名無しさん
垢版 |
2023/04/01(土) 18:09:42.77ID:vBVsKFoD
>>933
某オジお得意の誤訳だったんじゃねーの?
0962デフォルトの名無しさん
垢版 |
2023/04/01(土) 19:15:27.20ID:ugeMTEEj
>>914
> 具体型Fooが確定している状態で動的ディスパッチは絶対に発生しません


動的ディスパッチが実行される時点では必ず具体型Fooが確定している

> dynと目印のついたトレイトオブジェクト経由でしか動的ディスパッチは発生しません
> そしてこのときトレイトは確定しているのでメソッド名は衝突しません

衝突する
直接のトレイトは確定しても付随するトレイト境界があれば各トレイトでメソッド名は衝突しうる
0964デフォルトの名無しさん
垢版 |
2023/04/01(土) 19:31:10.27ID:9m4PZsrB
どの言語でも他の言語とは異なる特徴があるからその説明をしてくれないとわからん
それを説明されると困る人がいるのが不思議
0966デフォルトの名無しさん
垢版 |
2023/04/01(土) 21:44:43.97ID:NRw2BG4n
そいつはRustのこともC++のことも何も知らないくせに
なにかコメントしたいだけの池沼なので放置するしかない
0968デフォルトの名無しさん
垢版 |
2023/04/01(土) 21:55:20.36ID:3M3YuI+X
>>958
C++でスマポを使ってもヌル安全性もデータ競合安全性も得られない
さらに複雑化した時のスマポの使い方ミスで多くの問題が起きてきたことを考えると
本当に必要なのはスマポが正しく使われていない時にコンパイルエラーを出すこと
現状のC++は欠陥品であり今後も多くのセキュリティホールを生み出し続けるだろう
0969デフォルトの名無しさん
垢版 |
2023/04/01(土) 21:57:58.76ID:WHqiXdwW
>>968
おおGCくんが来た

>C++でスマポを使ってもヌル安全性もデータ競合安全性も得られない
どんなミスか興味があるのでソースで示してね
0970デフォルトの名無しさん
垢版 |
2023/04/01(土) 22:10:09.20ID:rBOo7R6g
>>743
同感
Rustは衛生的マクロな点を始めとして各種マクロが優秀すぎる
C++がダメすぎるんだよな
テンプレートも問題ありすぎ
0971デフォルトの名無しさん
垢版 |
2023/04/01(土) 22:21:05.85ID:nbXeTJU5
ディスパッチの定義を捻じ曲げたのと同じで
衝突の定義も捻じ曲げにきてるよな
0972デフォルトの名無しさん
垢版 |
2023/04/01(土) 23:32:16.53ID:AdU+jSWJ
>>940
コードがわかりくいのかなと思って
vtableのところをもう少しわかりやすくしてみた

trait TraitA { fn method1(&self); fn method2(&self); }
trait TraitB { fn method1(&self); fn method2(&self); }
trait TraitAB: TraitA + TraitB {}

struct Foo;
impl TraitA for Foo { fn method1(&self) {} fn method2(&self) {} }
impl TraitB for Foo { fn method1(&self) {} fn method2(&self) {} }
impl TraitAB for Foo {}

macro_rules! as_addr { ($target:expr) => { &($target) as *const _ } }
macro_rules! as_array { ($addr:expr, $index:expr) => { *(($addr) as *const usize).offset($index) } }
macro_rules! vtable { ($dyn:expr, $index:expr) => { unsafe { as_array![as_array![as_addr!($dyn), 1], $index] } } }

fn main() {
let foo = Foo;
let dyn_foo: &dyn TraitAB = &foo;
assert_eq!(vtable![dyn_foo, 0], std::ptr::drop_in_place::<Foo> as usize);
assert_eq!(vtable![dyn_foo, 1], std::mem::size_of::<Foo>());
assert_eq!(vtable![dyn_foo, 2], std::mem::align_of::<Foo>());
assert_eq!(vtable![dyn_foo, 3], <Foo as TraitA>::method1 as usize);
assert_eq!(vtable![dyn_foo, 4], <Foo as TraitA>::method2 as usize);
assert_eq!(vtable![dyn_foo, 5], <Foo as TraitB>::method1 as usize);
assert_eq!(vtable![dyn_foo, 6], <Foo as TraitB>::method2 as usize);
}

このように各トレイトの同名メソッドを区別してvtableのインデックス化(このコードだと他の部分含めてインデックス3~6)をしている
0974デフォルトの名無しさん
垢版 |
2023/04/01(土) 23:53:21.20ID:3egme1as
C/C++ vs Rustとしてあった方が良いと思うけどね
雑スレだとGCの勢力が強くなりそう
0976デフォルトの名無しさん
垢版 |
2023/04/02(日) 00:30:37.47ID:bY6+UifX
>>972
汚コードに磨きをかけるなよ
普通に関数で書けるものをネストさせたマクロにするセンスに脱帽
0977デフォルトの名無しさん
垢版 |
2023/04/02(日) 00:32:38.03ID:xbcpqSco
単純に開発効率の問題だよな
C++よりRustは実行デバッグの時間がかなり減って開発効率がいい
0980デフォルトの名無しさん
垢版 |
2023/04/02(日) 00:48:46.53ID:Xkdfgrgv
>>978
君の日本語がおかしいって話なんで、ソースで示すべきことは何も無いよ
それともなにか示してほしいの?
0981デフォルトの名無しさん
垢版 |
2023/04/02(日) 01:41:46.92ID:DBhEEanc
スレを読んでいて技術的な論争は興味深いんだけど
他人への攻撃をしてる人たちは邪魔なんで消えてほしい
0982デフォルトの名無しさん
垢版 |
2023/04/02(日) 02:09:25.03ID:WdMf4Ye5
そもそも>>1がソースを書けないと思われる
特にC++は読めもしないのだろう
RustとC++を技術的に比較するなら両方のソースをある程度書けないと不可能
0983デフォルトの名無しさん
垢版 |
2023/04/02(日) 07:26:34.66ID:W9/nq+tL
>>3 にあるとおり、やれっていわれたらやる マとしてはこれでFA
慣れは必要だけど、要求される頃には、定石も今以上に揃うだろうし

ここ読んでて、食わず嫌いしてたRustを眺めなおしてから、
CppCoreGuidelines 読んだら、めっちゃわかりやすかった
これだけで俺には十分収穫あったね
0984デフォルトの名無しさん
垢版 |
2023/04/02(日) 07:39:56.12ID:W9/nq+tL
Linusに認められた、これだけで、Rustの「勝利」は外形的事実 争う必要はない
はずなのに、そのうえまだ、Rustの優位を主張するのに全力な香具師がいる
若いなって正直思う 昔俺もああだったぜ

C++を母語としている者が考えることは、次に何を取り込むか
やっぱ #pragma safe は欲しいね
そのうしろに値くらい付いてもいい safeの詳細も、進化していくだろうから
0985デフォルトの名無しさん
垢版 |
2023/04/02(日) 07:53:54.77ID:W9/nq+tL
あああと、パタンマッチを知らなかったのも俺だ (知らぬは)一生の恥になるとこだったw
静的にソースコードを解析してsafeを証明できる、ガイドライン違反を指摘できることだとばかり

rustcのサンプル出してくれた奴には悪かった
「たしかに面白い…けど、こういうの、Cなら、yylvalっぽく処理するよね…」っていう印象だったんだ
inspectってのが来たら来るらしいので、来たら喜んで遊んでみるとして
優位性の根拠になるか? それホントC++に必要? ってのは次スレに持ち越したい

っていう埋め
0986デフォルトの名無しさん
垢版 |
2023/04/02(日) 10:51:04.91ID:D26hzdDf
>>985
キミは周回遅れのド素人でかつ
人より知能が劣るからもう発言しなくていいです
これはいじわる発言じゃなくて、助言です
0987デフォルトの名無しさん
垢版 |
2023/04/02(日) 10:59:32.98ID:W9/nq+tL
よく言われるよ

Rustのエヴァンジェリストが暴れていいのに、初心者の俺に黙っとけはないなあ
せいぜい質問させてもらうよ
0988デフォルトの名無しさん
垢版 |
2023/04/02(日) 11:04:00.93ID:xlKg15xW
>>981>>986は同一人物です
皆さん次スレでも騙されないようご注意を
0989デフォルトの名無しさん
垢版 |
2023/04/02(日) 11:10:11.81ID:6UFMeU2Z
>>976
複オジメソッドに釣られてるよ
気をつけて
0990デフォルトの名無しさん
垢版 |
2023/04/02(日) 11:12:51.90ID:Xkdfgrgv
自分の間違いを認められるだけマシ

>>981は露骨に複おじだけど
>>986=>>847=ID:BpzIAh0Kは違う気がするんよなあ

あんまり雑認定しすぎるとおじサイドの「自演に見えてるやつは頭がおかしい」の批判が有効になってしまうから、確証を持てないならほどほどにな
0992デフォルトの名無しさん
垢版 |
2023/04/02(日) 11:34:39.31ID:E52hJVrB
俺は池沼と複オジをこのスレから排除したいだけよ
だって時間のムダだもん
0993デフォルトの名無しさん
垢版 |
2023/04/02(日) 11:42:03.77ID:Xkdfgrgv
やめろバカ!複おじを野に放つ気か!?
せっかく平和なRust本スレが実現できて、後はヤツが追い払った住民たちを呼び戻すだけだというのに!
0994デフォルトの名無しさん
垢版 |
2023/04/02(日) 11:44:18.44ID:W9/nq+tL
残念だが、初心者お断りとは書いてなかったんだなあ

そうくると思って、俺がとっととスレ建てちまったからねw
0995デフォルトの名無しさん
垢版 |
2023/04/02(日) 11:45:16.10ID:E52hJVrB
>>993
そうかそっちか
それは申し訳なかった
こっちを隔離にすべきやね
複オジも池沼(ID:W9/nq+tL)もこっちに張り付く気マンマンらしいし
0996デフォルトの名無しさん
垢版 |
2023/04/02(日) 12:34:42.17ID:uooZ7ifu
まあまあ同じスレで出会った仲間なんだから仲良くしようや
0997デフォルトの名無しさん
垢版 |
2023/04/02(日) 13:29:57.68ID:Ky8sq4kq
Rustが良いって言ってる人は
C/C++のポインタとメモリ管理理解出来なかったからだろ
0998デフォルトの名無しさん
垢版 |
2023/04/02(日) 13:30:14.04ID:Ky8sq4kq
おにまい
0999デフォルトの名無しさん
垢版 |
2023/04/02(日) 13:30:23.82ID:Ky8sq4kq
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況