「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
前スレ: 結局C++とRustってどっちが良いの? 2traits
https://mevius.5ch.net/test/read.cgi/tech/1680363777/
関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
結局C++とRustってどっちが良いの? 3traits
■ このスレッドは過去ログ倉庫に格納されています
2023/05/04(木) 07:49:56.33ID:z+qB+AKQ
506デフォルトの名無しさん
2023/05/21(日) 03:10:59.62ID:pD4P5aW+ だからC使いをC++使いに含めましょうって?
507デフォルトの名無しさん
2023/05/21(日) 03:28:43.95ID:hDRagkvp C使いをRust使いに含めるのはないけどね
508デフォルトの名無しさん
2023/05/21(日) 03:51:32.22ID:DupwiM5R K&R CとC++98使えるから両方名乗ってもいいよね
509476
2023/05/21(日) 09:07:29.95ID:IEzEoKXI CとC++は人気シェア被ってるだろうから、単純に加算じゃいかんだろうなw
ちな、最強は…ってのの意味は、C++かRustかとかって言ってる間に、
世界最強はJavaScriptじゃねーか、まあ確かにww ってつもりだったよ
Rust流のメモリ管理がJavaScriptに流れ込んだら、どうなるかね
ちな、最強は…ってのの意味は、C++かRustかとかって言ってる間に、
世界最強はJavaScriptじゃねーか、まあ確かにww ってつもりだったよ
Rust流のメモリ管理がJavaScriptに流れ込んだら、どうなるかね
>>502,503
二つは一緒でしょう?
私はね C++ コンパイラを通らない C は書く気がしなくなりました、いまや C コードを C++ コンパイラでコンパイルが通るか試すのが日課ですね
そりゃCでかくときはCの書き方で、C++ で書くときはC++の書き方で書きますが、C++ はCの上位互換であるように気をつけていますね
二つは一緒でしょう?
私はね C++ コンパイラを通らない C は書く気がしなくなりました、いまや C コードを C++ コンパイラでコンパイルが通るか試すのが日課ですね
そりゃCでかくときはCの書き方で、C++ で書くときはC++の書き方で書きますが、C++ はCの上位互換であるように気をつけていますね
512デフォルトの名無しさん
2023/05/21(日) 09:13:04.25ID:4DUZ8lJ6 C/C++にダングリングは存在しない
C/C++は実体の無いものを参照出来る
もちろんポインタに代入して良い
アクセスさえしなければ問題は発生しない
問題を起こすのは馬鹿プログラマの責任
頭の良いプログラマは承知の上で使ってる
C/C++は実体の無いものを参照出来る
もちろんポインタに代入して良い
アクセスさえしなければ問題は発生しない
問題を起こすのは馬鹿プログラマの責任
頭の良いプログラマは承知の上で使ってる
513デフォルトの名無しさん
2023/05/21(日) 09:16:06.07ID:IEzEoKXI C/C++って書くとき、どっちも生ポ世代の、息の長い人気言語、って意味かなあ
そこを踏まえてRustが生まれた
なによりCにunsafe{ } 追加待ったなしだと思う Cに来れば、C++に来るのも早いだろう
そんな流れを想像するに、またC/C++って書いたりする
そこを踏まえてRustが生まれた
なによりCにunsafe{ } 追加待ったなしだと思う Cに来れば、C++に来るのも早いだろう
そんな流れを想像するに、またC/C++って書いたりする
514デフォルトの名無しさん
2023/05/21(日) 09:17:42.54ID:M77oEyAg515デフォルトの名無しさん
2023/05/21(日) 09:20:34.24ID:jjoN8NeX >>512
Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理不備が原因。問題の起きないRustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理不備が原因。問題の起きないRustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
516デフォルトの名無しさん
2023/05/21(日) 09:21:35.31ID:IEzEoKXI 想像以上に、ダメ人間がC/C++系に動員されてたって証左だね 俺を含むw
517デフォルトの名無しさん
2023/05/21(日) 09:23:48.78ID:YrT86H6X 片方の小手先の文法にばかり文句つけて反対側の長所は言えない
サンプルコードレベルしか理解できず書けないからそんなことしかできない
だからクソスレになるんだよここ
サンプルコードレベルしか理解できず書けないからそんなことしかできない
だからクソスレになるんだよここ
518デフォルトの名無しさん
2023/05/21(日) 09:26:46.33ID:IEzEoKXI519デフォルトの名無しさん
2023/05/21(日) 09:50:40.36ID:klr5Cg8y 手続き型言語は基本的にはどれも大差はなく文法や言語仕様は慣れの問題しかないもんな
スクリプト的な使い方をするだけならどの言語でも良いと思う
ただし本格的にプログラミングするなら速さや省メモリが効いてくる
とはいえC++の仕様では静的解析に実行時解析デバッグでも>>515が残りうる
スクリプト的な使い方をするだけならどの言語でも良いと思う
ただし本格的にプログラミングするなら速さや省メモリが効いてくる
とはいえC++の仕様では静的解析に実行時解析デバッグでも>>515が残りうる
520デフォルトの名無しさん
2023/05/21(日) 09:55:14.09ID:l5rpTDAP 小手先の文法っていうと、「hoge/fuga/b.rs」モジュールを「hoge/a.rs」から触りたい時に
なんでいちいち「hoge/fuga.rs」作って、人間が「pub mod b」みたいなこと書かなきゃならないんだろ
b.rsの先頭にでもpubって書いとけば、単にa.rsで「mod fuga::b」とか書くだけで認識できるようにするんじゃあかんのか
なんでいちいち「hoge/fuga.rs」作って、人間が「pub mod b」みたいなこと書かなきゃならないんだろ
b.rsの先頭にでもpubって書いとけば、単にa.rsで「mod fuga::b」とか書くだけで認識できるようにするんじゃあかんのか
521デフォルトの名無しさん
2023/05/21(日) 10:20:50.76ID:vO/Srrhk >>520
どの言語でもモジュールの目的は隠蔽にある
つまり必要となる最低限のものだけを外部に公開して他は内部構造として隠蔽するのがプログラミングの基礎
言語によって基本状態が何でも公開と何でも隠蔽があって後者は公開必要のあるものだけにpub等を付ける
そのモジュールfugaのサブモジュールbも同様で無指定ならばfugaの内部構造として隠蔽してくれる
公開したいならばRustではpubあるいは公開範囲を指示してpub (xxx)を付ける
例えばそのクレート内部だけに公開したいならばpub (crate)を付ける
どの言語でもモジュールの目的は隠蔽にある
つまり必要となる最低限のものだけを外部に公開して他は内部構造として隠蔽するのがプログラミングの基礎
言語によって基本状態が何でも公開と何でも隠蔽があって後者は公開必要のあるものだけにpub等を付ける
そのモジュールfugaのサブモジュールbも同様で無指定ならばfugaの内部構造として隠蔽してくれる
公開したいならばRustではpubあるいは公開範囲を指示してpub (xxx)を付ける
例えばそのクレート内部だけに公開したいならばpub (crate)を付ける
522デフォルトの名無しさん
2023/05/21(日) 11:01:39.93ID:cATdTts1 まともなプログラミングをしたことない人は隠蔽の重要性をなかなか理解しづらいかも
Rustのようにデフォルトがあらゆる隠蔽の言語の方が保守性の良いコードに導きやすいね
Rustのようにデフォルトがあらゆる隠蔽の言語の方が保守性の良いコードに導きやすいね
523デフォルトの名無しさん
2023/05/21(日) 12:03:09.15ID:D6AeXkVR 複オジ演やめろ
524デフォルトの名無しさん
2023/05/21(日) 13:05:49.48ID://2zHKa/525デフォルトの名無しさん
2023/05/21(日) 13:31:45.59ID:66WA2Ur9 デフォで不可視なのとか、パスとモジュール階層が対応してるのは文句なくて
パスと対応してるのに、いちいちpub modが並んでるだけのフォルダ名と同名ファイル「hoge/fuga.rs」作らないと
サブフォルダに切ったサブモジュールさわれないらしいのがウザいなあって思ったんだけど、今「hoge/a.rs」で
mod fuga {
pub mod b;
}
って書いたら普通にhoge/fuga/bを触れたんで、そもそもフォルダ分けてもfuga.rsなんて作る必要なかったんか?
パスと対応してるのに、いちいちpub modが並んでるだけのフォルダ名と同名ファイル「hoge/fuga.rs」作らないと
サブフォルダに切ったサブモジュールさわれないらしいのがウザいなあって思ったんだけど、今「hoge/a.rs」で
mod fuga {
pub mod b;
}
って書いたら普通にhoge/fuga/bを触れたんで、そもそもフォルダ分けてもfuga.rsなんて作る必要なかったんか?
526デフォルトの名無しさん
2023/05/21(日) 13:36:22.22ID:Zk8rlvra 他のファイルからfuga.rs触らないならまあそうなのか
普通はやらないけど
普通はやらないけど
527デフォルトの名無しさん
2023/05/21(日) 13:36:56.71ID:Zk8rlvra528デフォルトの名無しさん
2023/05/21(日) 14:43:05.00ID:0PJMtftZ 他のファイルからはa::fuga::bとかでアクセスできるやろ
依存性や役割のまとまりに応じてモジュール階層を切ればいい
依存性や役割のまとまりに応じてモジュール階層を切ればいい
529デフォルトの名無しさん
2023/05/21(日) 15:41:33.08ID:XMzvIQEw530デフォルトの名無しさん
2023/05/21(日) 16:12:13.12ID:ypADRCwd ついにC#の時代がきた
AzureでChatGPTが動かせるサンプルが来たぞ
なんとjupyterでC#を動かしている
(python以外の言語も使えたのかよ)
そさてサンプルの豊富さと美しさよ
ここまできても無視してる奴らは本当に技術力が低いと思う
https://github.com/Azure-Samples/openai-dotnet-samples/blob/main/tweet-classifier.ipynb
AzureでChatGPTが動かせるサンプルが来たぞ
なんとjupyterでC#を動かしている
(python以外の言語も使えたのかよ)
そさてサンプルの豊富さと美しさよ
ここまできても無視してる奴らは本当に技術力が低いと思う
https://github.com/Azure-Samples/openai-dotnet-samples/blob/main/tweet-classifier.ipynb
531デフォルトの名無しさん
2023/05/21(日) 16:39:30.76ID:Zk8rlvra jupyterってjuliaとpythonとrの略なんですよMAUI君
532デフォルトの名無しさん
2023/05/21(日) 16:49:36.80ID:IOpBRqCc533デフォルトの名無しさん
2023/05/21(日) 18:21:13.72ID:+umr+h+D534デフォルトの名無しさん
2023/05/21(日) 18:22:09.48ID:gNV32dti jupyterって確か前からC#は使えてただろ
535デフォルトの名無しさん
2023/05/21(日) 18:29:15.16ID:FVg8qfB9536デフォルトの名無しさん
2023/05/21(日) 19:14:19.33ID:gJ8vYfGl537デフォルトの名無しさん
2023/05/22(月) 09:51:12.40ID:Omf9ofNg538デフォルトの名無しさん
2023/05/23(火) 20:23:45.68ID:6llIPdc3 C++でnewはヒープ領域にメモリを確保するけど
Rustのnewは可変サイズでなければスタック領域にメモリを確保しちゃうんだな
Rustのnewは可変サイズでなければスタック領域にメモリを確保しちゃうんだな
539デフォルトの名無しさん
2023/05/23(火) 20:51:13.22ID:QaZRkUju おじ~ん
540デフォルトの名無しさん
2023/05/23(火) 22:24:35.02ID:QWj3a5zv541デフォルトの名無しさん
2023/05/23(火) 22:50:52.99ID:mDaJGwa6 関数名がnewかどうかは自由だが
Selfを返すことになるのでそれは必ずスタック上に置かれる
Selfの中のフィールドなどがVecなどであれば間接的にヒープも使うことになるが
あくまでも間接利用であり直接のSelfの実体はスタック上となる
Selfをヒープ上に置きたいならば明示的にBoxで包めばよい
常にヒープ上に置く使い方のみをするならば
newという関数がSelfを返すのではなくBox<Self>を返す仕様にすることも可能
Selfを返すことになるのでそれは必ずスタック上に置かれる
Selfの中のフィールドなどがVecなどであれば間接的にヒープも使うことになるが
あくまでも間接利用であり直接のSelfの実体はスタック上となる
Selfをヒープ上に置きたいならば明示的にBoxで包めばよい
常にヒープ上に置く使い方のみをするならば
newという関数がSelfを返すのではなくBox<Self>を返す仕様にすることも可能
542デフォルトの名無しさん
2023/05/23(火) 22:54:27.65ID:gzRXTWAF 分数 みたいな 論理演算は昔からあったのに
Rustになって それが強化されたみたいに感じるのは
ただ単に ハードウェアの性能が上がったからじゃないの
Rustになって それが強化されたみたいに感じるのは
ただ単に ハードウェアの性能が上がったからじゃないの
543デフォルトの名無しさん
2023/05/23(火) 23:36:32.18ID:O4W+gg5k Rustは後でスタックにもヒープにも移動できるから
最初にどこに確保しようが関係ない
C/C++は合算の対価として、値の移動ができないCの仕様を守る
対価を支払ったのだから合算していい
最初にどこに確保しようが関係ない
C/C++は合算の対価として、値の移動ができないCの仕様を守る
対価を支払ったのだから合算していい
544デフォルトの名無しさん
2023/05/24(水) 00:05:18.37ID:Q/1yUZsH545デフォルトの名無しさん
2023/05/24(水) 00:10:06.89ID:mXMvlRMp546デフォルトの名無しさん
2023/05/24(水) 00:33:20.12ID:paMEGXlZ >>545
それを言うなら「C++だとnew使わない限りスタックに置かれる」だろ
それを言うなら「C++だとnew使わない限りスタックに置かれる」だろ
547デフォルトの名無しさん
2023/05/24(水) 00:42:05.36ID:m0EnFP5f >Selfを返すことになるのでそれは必ずスタック上に置かれる
C++のnewは「ポインタを返すことになるのでそれは必ずスタック上に置かれる」と言ってるのと同じ
以降の文もだけどポイントがズレてるってことわかんないかな
C++のnewは「ポインタを返すことになるのでそれは必ずスタック上に置かれる」と言ってるのと同じ
以降の文もだけどポイントがズレてるってことわかんないかな
548デフォルトの名無しさん
2023/05/24(水) 00:54:21.12ID:E9tRPF6k RustのBox = C++のnew
どちらもインスタンスをヒープで作ってそれを指すポインタを返す
どちらもインスタンスをヒープで作ってそれを指すポインタを返す
549デフォルトの名無しさん
2023/05/24(水) 00:57:06.07ID:E9tRPF6k550デフォルトの名無しさん
2023/05/24(水) 03:23:05.87ID:3Tyqstx6551デフォルトの名無しさん
2023/05/24(水) 04:29:36.35ID:dbRRSEYx552デフォルトの名無しさん
2023/05/24(水) 06:21:18.27ID:DmEFL3XT553デフォルトの名無しさん
2023/05/24(水) 20:33:36.47ID:p10CeLN4 move等が無かった時代に書かれた仕様を現代の価値観で解釈するのは誤読と言われそうだが
C/C++は常習的にそれをやっていた
CのstructにはOOPの機能が無い・・・のではなく省略できることを書かなかっただけ
と解釈される
C/C++は常習的にそれをやっていた
CのstructにはOOPの機能が無い・・・のではなく省略できることを書かなかっただけ
と解釈される
554デフォルトの名無しさん
2023/05/24(水) 23:36:30.94ID:zNkTHn8w どこかのタイミングで c++ → c+++ 辺りに解明白
555デフォルトの名無しさん
2023/05/25(木) 00:10:13.85ID:0dEV4qNs int i {0};
cout << ++i++ << ' ' << i << '\n';
何と表示?
cout << ++i++ << ' ' << i << '\n';
何と表示?
556デフォルトの名無しさん
2023/05/25(木) 01:15:55.63ID:mUl8ilNM >>551
C++のmoveは機能が非常に小さく限られてるのね
C++のmoveは機能が非常に小さく限られてるのね
557デフォルトの名無しさん
2023/05/26(金) 10:16:10.06ID:r1ZsxdoB 今からやるならrust
558デフォルトの名無しさん
2023/05/26(金) 10:32:38.85ID:DUo6rxtT でもRustって使いどころがないんだよなあ
559デフォルトの名無しさん
2023/05/26(金) 11:54:59.67ID:ESB2ogqi .NET普通に使えるRust#欲しいかな
要らんな
要らんな
560デフォルトの名無しさん
2023/05/26(金) 14:07:09.39ID:xXTbrqoh561デフォルトの名無しさん
2023/05/26(金) 14:32:09.72ID:W31CVnQE 社内でもRust化は検討してるけど、一番のネックはRustを使える人が集まらないことやね
562デフォルトの名無しさん
2023/05/26(金) 14:33:58.09ID:oz5lNCWG 言語のアシストがあるから、C++よりは安全といっても…習熟が要らないかっていったらまた別の話だしな
563デフォルトの名無しさん
2023/05/26(金) 17:56:10.48ID:bW5L38cr まぁ実際“安全”って言ったって実際どうなんってよくわからんよな
ただ、マーケティング的に「今Rustってのが出てきました、Microsoftのwindowsも使い始めました、Linuxもです、これからはこういう安全性の高い言語で開発されたものがおすすめできます」というのは売りにはなるやろな
実際ほんとにどれほど安全なのかはわからんけど
ただ、マーケティング的に「今Rustってのが出てきました、Microsoftのwindowsも使い始めました、Linuxもです、これからはこういう安全性の高い言語で開発されたものがおすすめできます」というのは売りにはなるやろな
実際ほんとにどれほど安全なのかはわからんけど
564デフォルトの名無しさん
2023/05/26(金) 18:04:34.59ID:xXTbrqoh GCの使いどころを知るためにGCを追放してみた感がある
自分が絶対正しい的な動機がなくても、身の程をわきまえた上でGCをクビにする
自分が絶対正しい的な動機がなくても、身の程をわきまえた上でGCをクビにする
565デフォルトの名無しさん
2023/05/26(金) 22:03:14.80ID:Pn/E6OPd566デフォルトの名無しさん
2023/05/26(金) 22:09:14.92ID:EpQhSPEM567デフォルトの名無しさん
2023/05/26(金) 22:22:16.39ID:1fyDxV99 ソフトウェアの売り文句がその通りだった試しはないんだけどな
568デフォルトの名無しさん
2023/05/26(金) 22:58:51.65ID:8voBDcDV 柵はソフトウェアでは利点も欠点もあるからね
569デフォルトの名無しさん
2023/05/26(金) 23:42:30.81ID:xXTbrqoh トロッコ問題もそうなんよ
死者は1人または5人と断定して利点や欠点を皮算用させるけど
現実は0人だったり2人だったりする
問題文がその通りだった試しがないことを知っている人は問題文を否定する
死者は1人または5人と断定して利点や欠点を皮算用させるけど
現実は0人だったり2人だったりする
問題文がその通りだった試しがないことを知っている人は問題文を否定する
570デフォルトの名無しさん
2023/05/26(金) 23:59:03.75ID:hkN5eS/D571デフォルトの名無しさん
2023/05/27(土) 00:57:04.07ID:isbRRjiE 言うほどrustが抽象化されてるか?
572デフォルトの名無しさん
2023/05/27(土) 02:06:21.95ID:gMKf+OGS そういう具体性皆無の発言にいちいち反応してっからくだらん話になっていくんや
573デフォルトの名無しさん
2023/05/27(土) 09:54:08.85ID:NyTfYGgM バカには理解できない言語?
それは習得し易いとは言えないのでは
それは習得し易いとは言えないのでは
574デフォルトの名無しさん
2023/05/27(土) 10:40:48.84ID:bsq21T/I エスペラント流行らないね
575デフォルトの名無しさん
2023/05/27(土) 11:01:08.70ID:irejRMME 習得しやすさを基準にすると宗教に勝てないよ
習得しやすいが残酷な教義を信じて戦争したりするよ
習得しやすいが残酷な教義を信じて戦争したりするよ
576デフォルトの名無しさん
2023/05/27(土) 13:01:04.01ID:6b5IxvdG デジタル信号処理の組み込みやるならC++じやね?
577デフォルトの名無しさん
2023/05/27(土) 13:12:08.74ID:G4DK6UTP C,C++,Rustはそのあたりの機能も性能も同じ
578デフォルトの名無しさん
2023/05/27(土) 13:48:56.45ID:5MJtpNwj 勉強するときに参照するサンプルコードはぼぼCで書かれてるからね
3言語ともまだって人にはRustは選択肢にならんだろうね
3言語ともまだって人にはRustは選択肢にならんだろうね
579デフォルトの名無しさん
2023/05/27(土) 14:01:29.07ID:EP+s5fsB 言語を勉強するのが目的の人はRustかなと思う。
でも、通信やOSの仕組みが知りたかったら大体の本はCで書かれてるし、デザインパターンの勉強やゲームを作りたかったらC++で書かれている本が多い。
そういった先のことを勉強したい場合、Rustで実装されてることは少ないので、優先順位が下がってしまう。
でも、通信やOSの仕組みが知りたかったら大体の本はCで書かれてるし、デザインパターンの勉強やゲームを作りたかったらC++で書かれている本が多い。
そういった先のことを勉強したい場合、Rustで実装されてることは少ないので、優先順位が下がってしまう。
580デフォルトの名無しさん
2023/05/27(土) 14:02:40.43ID:6b5IxvdG Rustって何て読むのか知らないけど、なんかあまりカッコよく無いな。カッコで言語選ぶべきじゃないとは思うけどね。
581デフォルトの名無しさん
2023/05/27(土) 14:07:13.98ID:NyTfYGgM582デフォルトの名無しさん
2023/05/27(土) 14:13:31.68ID:XpxxVycT ラストって勝手に思ってた
583デフォルトの名無しさん
2023/05/27(土) 14:28:37.61ID:4YJ7SOpZ Rustを使える人で仮にCを知らない人がいたとしても
残るわずかな差分のC特有の仕様を勉強するには1日あれば十分
だから困ることはないだろう
残るわずかな差分のC特有の仕様を勉強するには1日あれば十分
だから困ることはないだろう
584デフォルトの名無しさん
2023/05/27(土) 14:45:17.55ID:t60D5gLT そもそもがCの文法レベルの勉強自体が8時間で終わるレベル
585デフォルトの名無しさん
2023/05/27(土) 14:59:51.85ID:LrZApVUV マジか、じゃあC言語のエンジニアなんて8時間あれはどんどん量産できるんじゃん
最強じゃね?
最強じゃね?
586デフォルトの名無しさん
2023/05/27(土) 15:12:20.67ID:irejRMME >>581
(信者数の) 最大化問題を解いているような言動は宗教っぽい
(信者数の) 最大化問題を解いているような言動は宗教っぽい
587デフォルトの名無しさん
2023/05/27(土) 15:14:49.40ID:t60D5gLT C言語の入門はどこまでなんだろ
個人的には連結リスト作るまで当たりじゃないかと
個人的には連結リスト作るまで当たりじゃないかと
588デフォルトの名無しさん
2023/05/28(日) 00:05:14.68ID:jBYqeWbk C・C++はビルド周りが弱すぎる
CMake登場でちょっとはマシになったけど、それでもまだそんな普及してないしな
CMake登場でちょっとはマシになったけど、それでもまだそんな普及してないしな
589デフォルトの名無しさん
2023/05/28(日) 00:11:09.42ID:YEcTw8ee autoconfとautomakeがありますが何か?
590デフォルトの名無しさん
2023/05/28(日) 01:04:51.11ID:sbLeZmJN 弱いのはWindowsでしょ
他人がビルドしたライブラリをリンクする仕組みがないから自分の負担が大き過ぎる
最近はLinux依存を躊躇しなくなってきてる
他人がビルドしたライブラリをリンクする仕組みがないから自分の負担が大き過ぎる
最近はLinux依存を躊躇しなくなってきてる
591デフォルトの名無しさん
2023/05/28(日) 03:42:47.92ID:jBYqeWbk ライブラリを簡単に探したり、依存関係勝手に解決してくれる仕組みがないのでゴミなんだよなぁ
592デフォルトの名無しさん
2023/05/28(日) 05:16:42.09ID:druolHmT vcpkgとかconanは使ってみた?
593デフォルトの名無しさん
2023/05/28(日) 10:19:09.55ID:BU1qe+Xl 色々使ってみるということは当然C++とRustどっちも習得するんだよな
594デフォルトの名無しさん
2023/05/28(日) 10:25:45.36ID:MoCGpZK6 触るけど習得なんてしない
595デフォルトの名無しさん
2023/05/28(日) 10:35:03.00ID:9nDQPrUY 仕事で必要な方にすれば?必要に迫られれば集中して学ぶからどんな言語でも習得するかと。
596デフォルトの名無しさん
2023/05/28(日) 10:37:20.20ID:MoCGpZK6 ライナスはピュアCでgit作ったんだよな
偉いわ
Cオンリーでマルチ文字列操作なんてしたくない
偉いわ
Cオンリーでマルチ文字列操作なんてしたくない
597デフォルトの名無しさん
2023/05/28(日) 10:41:38.44ID:9nDQPrUY >>596
Rubyかと思ってた
Rubyかと思ってた
598デフォルトの名無しさん
2023/05/28(日) 10:53:49.06ID:MoCGpZK6 Perlがあったとてもrubyはないかな
599デフォルトの名無しさん
2023/05/29(月) 06:25:25.92ID:e2f/gOni 所有権とかいる?std::moveで十分だろ
600デフォルトの名無しさん
2023/05/29(月) 09:55:20.52ID:MCD4Vue8 pub const longlongnamehogehoge: i64 = 1;
pub const longlongnamehogehage: i64 = 2;
pub const longlongnamehagehage: i64 = 3;
みたいな定数があって
let fuga: i64 = なんか値; みたいな状況で
match fuga {
longlongnamehogehoge => { println!("oo"); },
longlongnamehogehage => { println!("oa"); },
longlongnamehagehage => { println!("aa"); },
longlongnamehagehoge => { println!("ao"); }, // 無いはず
_ => { println!("other"); }
}
って描いたときコンパイル時エラーを期待してたんだけど
完全スルーで成功されるんだがなんでだろ
pub const longlongnamehogehage: i64 = 2;
pub const longlongnamehagehage: i64 = 3;
みたいな定数があって
let fuga: i64 = なんか値; みたいな状況で
match fuga {
longlongnamehogehoge => { println!("oo"); },
longlongnamehogehage => { println!("oa"); },
longlongnamehagehage => { println!("aa"); },
longlongnamehagehoge => { println!("ao"); }, // 無いはず
_ => { println!("other"); }
}
って描いたときコンパイル時エラーを期待してたんだけど
完全スルーで成功されるんだがなんでだろ
601デフォルトの名無しさん
2023/05/29(月) 10:08:34.30ID:MCD4Vue8 事故解決しますた
gist
37751f7d9108e58dd16982f32a2b105f
match に any value って _ のことだけかと思ってたけど
使ってない変数名ならなんでも良いことが判りましたです
gist
37751f7d9108e58dd16982f32a2b105f
match に any value って _ のことだけかと思ってたけど
使ってない変数名ならなんでも良いことが判りましたです
602デフォルトの名無しさん
2023/05/29(月) 10:10:38.95ID:MCD4Vue8 あとこれでも実行出来てたのでどこにあるかの問題でもなかった
match fuga {
longlongnamehogehoge => { println!("oo"); },
longlongnamehagehoge => { println!("ao"); }, // 無いはず
longlongnamehogehage => { println!("oa"); },
longlongnamehagehage => { println!("aa"); },
_ => { println!("other"); }
}
match fuga {
longlongnamehogehoge => { println!("oo"); },
longlongnamehagehoge => { println!("ao"); }, // 無いはず
longlongnamehogehage => { println!("oa"); },
longlongnamehagehage => { println!("aa"); },
_ => { println!("other"); }
}
603デフォルトの名無しさん
2023/05/29(月) 10:52:27.39ID:0py62bgw >>602
warning: unreachable pattern で気付くだろ
warning: unreachable pattern で気付くだろ
604デフォルトの名無しさん
2023/05/29(月) 11:02:56.11ID:zN7uHoOl Cでは定数を#defineやenumで定義することが多く
定数は大文字で変数は小文字
Rustのenumも大文字で始まるから通常は定数と変数を間違えない
問題は、#defineよりconstが優れているというのは嘘だったんじゃないかという
定数は大文字で変数は小文字
Rustのenumも大文字で始まるから通常は定数と変数を間違えない
問題は、#defineよりconstが優れているというのは嘘だったんじゃないかという
605デフォルトの名無しさん
2023/05/29(月) 12:35:35.40ID:MCD4Vue8 いやまあそうなんだけど
match fuga {
longlongnamehogehoge => { println!("oo"); },
longlongnamehagehoge => { println!("ao"); },
longlongnamehogehage => { println!("oa"); },
longlongnamehagehage => { println!("aa"); },
}
longlongnamehagehoge が存在しない状態で
このコードって明らかにバグだと思うんだけど
正常系と看做される訳でωωωなんだかなーと思った次第
match fuga {
longlongnamehogehoge => { println!("oo"); },
longlongnamehagehoge => { println!("ao"); },
longlongnamehogehage => { println!("oa"); },
longlongnamehagehage => { println!("aa"); },
}
longlongnamehagehoge が存在しない状態で
このコードって明らかにバグだと思うんだけど
正常系と看做される訳でωωωなんだかなーと思った次第
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【J SPORTS】FIFA U-17ワールドカップ ★10
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- ネットでサッカー観戦◆2025-29
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 地球から無限km先の場所ってどうなっているの?
- 日本、高市のお陰で破滅に近づくwwwwwwww
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 🖐( -᷄ὢ)俺に挑むのはやめておけ……実力差がありすぎる
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
