「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
416デフォルトの名無しさん
2023/05/15(月) 09:37:02.63ID:wFuQ/qib >>411
ハゲ麦紐じゃなかった?
ハゲ麦紐じゃなかった?
417デフォルトの名無しさん
2023/05/15(月) 09:38:10.71ID:DhZrO8d7418デフォルトの名無しさん
2023/05/15(月) 11:36:55.02ID:ujHFmMNa >>414
Rustでも区別されてるけど場所によってはDeref Coercionが働くから
区別されてないように見えるというだけ
https://doc.rust-lang.org/book/ch15-02-deref.html
Rustでも区別されてるけど場所によってはDeref Coercionが働くから
区別されてないように見えるというだけ
https://doc.rust-lang.org/book/ch15-02-deref.html
419デフォルトの名無しさん
2023/05/15(月) 12:27:59.24ID:GXc9JAaS420デフォルトの名無しさん
2023/05/15(月) 12:36:46.16ID:HovYgrQ4 じゃあジェネリクスの記号を何にすればよかったのかの話は無いよね。
代替案が無いなら貶さない方がいいよ
代替案が無いなら貶さない方がいいよ
421デフォルトの名無しさん
2023/05/15(月) 12:58:13.92ID:s5edYhaR Box[T]
Box t
't box
(box t)
Box t
't box
(box t)
422デフォルトの名無しさん
2023/05/15(月) 13:30:47.16ID:s5edYhaR 今さら代替案を出したってもう広まってるから無理だし、本気でこれを変えて「改善」になるなんて思ってる人はいないだろうが
C++の山かっこがC++11で改善されるまで長いことクソクソ言われてたのになぜRustは……ってだけのただの冗談だよ
本気にさせちゃったようですまないね
C++の山かっこがC++11で改善されるまで長いことクソクソ言われてたのになぜRustは……ってだけのただの冗談だよ
本気にさせちゃったようですまないね
423デフォルトの名無しさん
2023/05/15(月) 13:45:50.28ID:I+wFjT19 Rustのジェネリックスの記法はこうこうこうだから美しい!マンセー!
って言わなきゃ話が続かないよ
って言わなきゃ話が続かないよ
424デフォルトの名無しさん
2023/05/15(月) 13:49:25.75ID:s5edYhaR http://www.kmonos.net/alang/d/templates-revisited.html
クソクソ言われていた時代にRustと似た動機で作られたD言語はBox!(T)だったんだね
みんないろいろ考えるんだね〜
クソクソ言われていた時代にRustと似た動機で作られたD言語はBox!(T)だったんだね
みんないろいろ考えるんだね〜
425デフォルトの名無しさん
2023/05/15(月) 14:23:03.39ID:1m/NLizK > C++構文定義上の最大の罪である山括弧ジェネリクス
> C++の山かっこがC++11で改善されるまで長いことクソクソ言われてた
完全にコイツはエアプ
当時そんなとこに文句言ってるやつ見たこと無い
みんな真顔で「> >」隙間開けてたわ
指がオートマチックでスペース叩いてるはず
仕事やってりゃ色々クソなことはあるが
それを言語に転嫁するようなザコはここにはいないよね?
> C++の山かっこがC++11で改善されるまで長いことクソクソ言われてた
完全にコイツはエアプ
当時そんなとこに文句言ってるやつ見たこと無い
みんな真顔で「> >」隙間開けてたわ
指がオートマチックでスペース叩いてるはず
仕事やってりゃ色々クソなことはあるが
それを言語に転嫁するようなザコはここにはいないよね?
426デフォルトの名無しさん
2023/05/15(月) 14:37:29.92ID:8jCFowEK C++11までそんなので頑張ってたんだねw
427デフォルトの名無しさん
2023/05/15(月) 14:44:13.08ID:HovYgrQ4 「もう広まってる」とは言うがRustがわざわざ山かっこ<>をジェネリクス用に選んだ経緯とかはあるのか?
本当に惰性と流れで<>にしたの?
Dみたくa!(b,c)にしなかったのはなんでだ?
やっぱりDのa!(b,c)なる記法は純粋に見映えがダサくて、C++的なa<b,c>なやつはなぜかイケてる、ていうだけのことだろ
本当に惰性と流れで<>にしたの?
Dみたくa!(b,c)にしなかったのはなんでだ?
やっぱりDのa!(b,c)なる記法は純粋に見映えがダサくて、C++的なa<b,c>なやつはなぜかイケてる、ていうだけのことだろ
428デフォルトの名無しさん
2023/05/15(月) 15:00:31.60ID:5sS8eRrw ()が増えるのは良くない
429デフォルトの名無しさん
2023/05/15(月) 15:09:20.65ID:s5edYhaR430デフォルトの名無しさん
2023/05/15(月) 15:11:35.81ID:ujHFmMNa https://soc.me/languages/stop-using-angle-brackets-for-generics.html
ここに書いてあることも一理あるけど
Goのようにsquare bracketでのインデックスアクセスを残したままFoo[T]にするのも微妙
unlimited look-aheadが必要だとしても実際にそんな長く先まで読む必要性なんてないので
読みやすさが勝るのならそれでいいと思う
ターボフィッシュはイケてないけど
ここに書いてあることも一理あるけど
Goのようにsquare bracketでのインデックスアクセスを残したままFoo[T]にするのも微妙
unlimited look-aheadが必要だとしても実際にそんな長く先まで読む必要性なんてないので
読みやすさが勝るのならそれでいいと思う
ターボフィッシュはイケてないけど
431デフォルトの名無しさん
2023/05/15(月) 15:21:53.58ID:gbsleJgn >>425
C++がだらしないから、こんだけRust勢に煽られてる、っては思ってるけどね
あまりに煽られて、一行もRust書いてないのに、併用する心の準備ができつつある
でもぜってえC++は捨てねえ、ぜってえにだwww > 煽り勢
C++がだらしないから、こんだけRust勢に煽られてる、っては思ってるけどね
あまりに煽られて、一行もRust書いてないのに、併用する心の準備ができつつある
でもぜってえC++は捨てねえ、ぜってえにだwww > 煽り勢
432デフォルトの名無しさん
2023/05/15(月) 15:44:34.72ID:YPCsGXtE 言語そのものを作ってるような人じゃなければ
あまり特定の言語に固執しないほうがいいよ
RustだろうがC++だろうがレゾンデートルに特定の言語を組み入れてる人は成長が止まりやすく老害化しやすいので自分が損するだけだから
所詮は使い分ける道具の一つ
あまり特定の言語に固執しないほうがいいよ
RustだろうがC++だろうがレゾンデートルに特定の言語を組み入れてる人は成長が止まりやすく老害化しやすいので自分が損するだけだから
所詮は使い分ける道具の一つ
433デフォルトの名無しさん
2023/05/15(月) 18:44:18.46ID:FgOHTeF5 プログラミング言語をただの道具と言うやつは大抵無能
434デフォルトの名無しさん
2023/05/15(月) 18:58:00.82ID:VaeCf5Jf435デフォルトの名無しさん
2023/05/15(月) 19:22:58.71ID:W6wSx7Ot 何か作るときに道具に拘る気持ちはめっちゃわかるけどなあ
436デフォルトの名無しさん
2023/05/15(月) 19:25:10.97ID:FgOHTeF5 道具によって成果物の品質が変わるのだからこだわるのは当たり前
ただの道具とか言うやつは安定してゴミを作るからそういう感覚がないのよ
ただの道具とか言うやつは安定してゴミを作るからそういう感覚がないのよ
437デフォルトの名無しさん
2023/05/15(月) 19:32:41.90ID:wsaXJZjZ ここからは理論無用でレスできるのでスレが進むのか?
438デフォルトの名無しさん
2023/05/15(月) 19:32:43.22ID:Zmr9JaW+ 作るものが複雑になると、普段から使ってよく理解している言語でないと
調べ物が多くなって効率が悪い。
調べ物が多くなって効率が悪い。
439デフォルトの名無しさん
2023/05/15(月) 19:34:27.68ID:fkhy8mxo 問題領域の濃度と文法の濃度を考えれば、全ての用途で便利に使える万能言語なんてありえない。
言語には必ず得意領域と不得意領域があるんだから、問題領域に合わせて言語を選択・作成するのが望ましい。
言語には必ず得意領域と不得意領域があるんだから、問題領域に合わせて言語を選択・作成するのが望ましい。
440デフォルトの名無しさん
2023/05/15(月) 19:38:48.81ID:s5edYhaR If all you have is a hammer, everything looks like a nail.
>>437
宗教上の理由でワッチョイスレに書けない人が荒れることを無限に書き込むから
>>437
宗教上の理由でワッチョイスレに書けない人が荒れることを無限に書き込むから
441デフォルトの名無しさん
2023/05/15(月) 19:42:25.96ID:LmW7vJqn ちょっとしたスクリプトを書く程度で済むケースは、シェルスクリプトやスクリプト言語を使えば済むから対象外として、
がっちりプログラミングするならば、実行速度やメモリ使用量などのリソース、可読性や保守性を含めた開発効率などで、プログラミング言語を選びたい。
慣れれば大した手間増加にならないのだから、CPUメモリリソースや時間を考えると、C++とRustが選ばれるべきシーンは多そう。
C++とRustが忌避される理由は他言語より「難しい」「面倒」だけど、慣れてしまえば他の言語と大した違いはないわけだから。
がっちりプログラミングするならば、実行速度やメモリ使用量などのリソース、可読性や保守性を含めた開発効率などで、プログラミング言語を選びたい。
慣れれば大した手間増加にならないのだから、CPUメモリリソースや時間を考えると、C++とRustが選ばれるべきシーンは多そう。
C++とRustが忌避される理由は他言語より「難しい」「面倒」だけど、慣れてしまえば他の言語と大した違いはないわけだから。
442デフォルトの名無しさん
2023/05/15(月) 19:47:06.01ID:wsaXJZjZ 目玉焼きに醤油を掛けるのかソースを掛けるのかマヨネーズ掛けるのか塩を掛けるのか
ぐらいのレベルがこの後30レスぐらい続くのかなあ?
ぐらいのレベルがこの後30レスぐらい続くのかなあ?
443デフォルトの名無しさん
2023/05/15(月) 20:18:45.40ID:Kl4uDN3z 塩だろ。俺は邪道のアジシオだな
どんなターゲットにも合う。最悪、スイカにすら合う。
Cもそんな感じ。
どんなターゲットにも合う。最悪、スイカにすら合う。
Cもそんな感じ。
444デフォルトの名無しさん
2023/05/15(月) 20:36:08.15ID:sS887eTb445デフォルトの名無しさん
2023/05/15(月) 21:11:38.66ID:FgOHTeF5 マンパワー依存の無能はさすがに苦笑
エンジニア向いてないよ笑
エンジニア向いてないよ笑
446デフォルトの名無しさん
2023/05/15(月) 22:00:39.87ID:Kl4uDN3z まあC++にもunsafe{ } は来てほしいけどね
統一的な方法がなかったので、今後Rustのやりかたが他言語にも波及するっしょ
統一的な方法がなかったので、今後Rustのやりかたが他言語にも波及するっしょ
447デフォルトの名無しさん
2023/05/16(火) 03:39:12.30ID:mxMgusoo >>446
global deleteを無くすのと、参照渡しのライフタイム保証があればいいよ。
global deleteを無くすのと、参照渡しのライフタイム保証があればいいよ。
448デフォルトの名無しさん
2023/05/16(火) 04:35:10.15ID:4S8kS8o+ 何か未知で不確実だとしてもただの道具ならその目的は既知だったりするでしょ
デストラクタの後で参照しないとか
デストラクタの後でデストラクタを呼ばないとか
だがメモリリークをあまり問題視しない件などは目的自体が変化してしまうから
ただの道具ではない
デストラクタの後で参照しないとか
デストラクタの後でデストラクタを呼ばないとか
だがメモリリークをあまり問題視しない件などは目的自体が変化してしまうから
ただの道具ではない
449デフォルトの名無しさん
2023/05/16(火) 05:49:36.67ID:LhFniP55 >>447
Rust勢が言っているのは、Rustで書いたものは安全といって納品できる、ということなので、
ガイドライン チェッカとかじゃなく、言語にちゃんとunsafe{ } があるというのはモダン
何をもってsafeとするかには議論があったが、Rustがデファクトスタンダードになるなら、それを取り込めばいい
ひとつの夜明けは近い
Rust勢が言っているのは、Rustで書いたものは安全といって納品できる、ということなので、
ガイドライン チェッカとかじゃなく、言語にちゃんとunsafe{ } があるというのはモダン
何をもってsafeとするかには議論があったが、Rustがデファクトスタンダードになるなら、それを取り込めばいい
ひとつの夜明けは近い
450デフォルトの名無しさん
2023/05/16(火) 10:02:16.98ID:dncY24o+ >成長が止まりやすく老害化しやすい
道具云々は↑これが図星で悔しかったんだろ
その後のレス見れば成長止まって老害化してる人だとよくわかる
道具云々は↑これが図星で悔しかったんだろ
その後のレス見れば成長止まって老害化してる人だとよくわかる
451デフォルトの名無しさん
2023/05/16(火) 10:57:49.38ID:4S8kS8o+ 当たり前だけど、攻撃力がレーゾンデートルになるよりは回避力か防御力のほうが
ダメージやストレスが少ない
ダメージやストレスが少ない
452デフォルトの名無しさん
2023/05/16(火) 11:13:49.28ID:afLAkRaY レーゾンデートルwww
453デフォルトの名無しさん
2023/05/16(火) 12:35:37.97ID:ALDBkD8o454デフォルトの名無しさん
2023/05/16(火) 13:33:35.88ID:d+qszQ7T インテリだなぁwおい
455デフォルトの名無しさん
2023/05/16(火) 13:41:37.03ID:spgQVWRA >>453
値を変更する時にそれが他から参照されてるかはRust以外でも多少は意識してるはずだし
変更可能な状態で共有することに意味があるならRefCellとかCellに入れて共有すればいい
面倒といっても安全のための規約レベルでしょ
(違反するとコンパイラに殴られるからある意味手間が省ける)
値を変更する時にそれが他から参照されてるかはRust以外でも多少は意識してるはずだし
変更可能な状態で共有することに意味があるならRefCellとかCellに入れて共有すればいい
面倒といっても安全のための規約レベルでしょ
(違反するとコンパイラに殴られるからある意味手間が省ける)
456デフォルトの名無しさん
2023/05/16(火) 15:40:22.92ID:HCiu7CXC >>453
正確にはshared NAND mutable
正確にはshared NAND mutable
457デフォルトの名無しさん
2023/05/16(火) 18:00:25.19ID:4S8kS8o+ 所有と参照を区別しない場合は
参照が一つもない値の存在は許されない (循環参照が許されないとは言ってない) ので
むしろxorが正確である場合もあるかも
参照が一つもない値の存在は許されない (循環参照が許されないとは言ってない) ので
むしろxorが正確である場合もあるかも
458デフォルトの名無しさん
2023/05/16(火) 22:00:57.33ID:LSAD/UZx459デフォルトの名無しさん
2023/05/16(火) 23:06:18.96ID:4S8kS8o+ ああ、C++では値と参照を区別するとかしないとか言うね
でも動詞を使いたくなったら「参照する」は正しいが「値する」はおかしい
だから値を所有する、値を参照するというのが良い
でも動詞を使いたくなったら「参照する」は正しいが「値する」はおかしい
だから値を所有する、値を参照するというのが良い
460デフォルトの名無しさん
2023/05/17(水) 06:30:13.75ID:u+07gdJ+ C/C++の値に所有なんてあるのか
参照なら実体側の所有が誰か問題になるかも知れんが
参照なら実体側の所有が誰か問題になるかも知れんが
461デフォルトの名無しさん
2023/05/17(水) 11:15:53.89ID:qIPYqCzM462デフォルトの名無しさん
2023/05/17(水) 12:05:12.66ID:jyReDlhf C++の参照がダングリングを引き起こす根本的原因は、
値の所有とその生存期間を参照に対してはっきりさせていないため?
値の所有とその生存期間を参照に対してはっきりさせていないため?
463デフォルトの名無しさん
2023/05/17(水) 12:13:29.10ID:BpkuThno use Hoge; と
extern crate Hoge; の違いが判ったわ
新しいとか古いとか言ってる人が以前居たけど嘘だったω
extern crate Hoge; の違いが判ったわ
新しいとか古いとか言ってる人が以前居たけど嘘だったω
464デフォルトの名無しさん
2023/05/17(水) 12:13:39.98ID:F24a8wLt 待て待て
そもそもC++でダングリングを起こしたことがない
Rustは言語仕様上関数でヒープまで消しちゃうから
仕組みがないとダングリングを起こしやすい
ダングリングはRust固有の持病
そもそもC++でダングリングを起こしたことがない
Rustは言語仕様上関数でヒープまで消しちゃうから
仕組みがないとダングリングを起こしやすい
ダングリングはRust固有の持病
465デフォルトの名無しさん
2023/05/17(水) 12:57:26.72ID:gejLyGRv466デフォルトの名無しさん
2023/05/17(水) 13:13:25.46ID:BC7Hht5L >>464
関数でヒープを自動解放する仕組みすなわち自動的にデストラクタが呼ばれる仕組みはC++とRustで同じ
関数でヒープを自動解放する仕組みすなわち自動的にデストラクタが呼ばれる仕組みはC++とRustで同じ
467デフォルトの名無しさん
2023/05/17(水) 13:36:00.32ID:bmOF/eVQ デバッグビルドでよければ、結構重厚にチェックしてくれるんだけどね
リリースビルドでも一定程度チェックが残ってくれるようになれば、まだましになるか
リリースビルドでも一定程度チェックが残ってくれるようになれば、まだましになるか
468デフォルトの名無しさん
2023/05/17(水) 13:56:37.30ID:ICP0Cmin >>462
C++でも値に対する所有とライフタイムを明確にして参照のライフタイムがそれ以内に収まる枠組みにすればダングリングを防げるようになる
C++でも値に対する所有とライフタイムを明確にして参照のライフタイムがそれ以内に収まる枠組みにすればダングリングを防げるようになる
469デフォルトの名無しさん
2023/05/17(水) 16:33:36.81ID:vdNzRO2S それスマートポインタでええやん
470デフォルトの名無しさん
2023/05/17(水) 16:47:08.88ID:xh2FOm6Y Rustの知名度の上昇は、WasmのWASIのサンプルがCではなくRustで書かれている
ことにも起因するらしい。だから、Wasmで検索するとRustが出てきてしまう。
しかし、このことは、WASIの普及の足を引っ張るかも知れない。
なぜなら、C言語が基本だから。
ことにも起因するらしい。だから、Wasmで検索するとRustが出てきてしまう。
しかし、このことは、WASIの普及の足を引っ張るかも知れない。
なぜなら、C言語が基本だから。
471デフォルトの名無しさん
2023/05/17(水) 16:58:32.53ID:v5yVc+NM472デフォルトの名無しさん
2023/05/17(水) 18:52:30.65ID:ZQB5ONnn なぜなら、の後が願望100%やん
473デフォルトの名無しさん
2023/05/17(水) 20:08:10.12ID:Yuvp7VZi 願望だから嘘だとか万能だから嘘だとかいう雑な説明は蛇足だな
説明しない自由があるべき
嘘でもいいから何か説明した方がマシというのは大嘘だ
説明しない自由があるべき
嘘でもいいから何か説明した方がマシというのは大嘘だ
474デフォルトの名無しさん
2023/05/17(水) 22:54:42.20ID:tJ3Yi1Tz C++君はコンパイルでチェック出来るようになってから出直してきなさい
475デフォルトの名無しさん
2023/05/18(木) 23:15:13.15ID:xashkNA5 5ch見ない間に変なスレ立ってんじゃん
どっちが優勢なのこれ
どっちが優勢なのこれ
476デフォルトの名無しさん
2023/05/19(金) 00:20:59.53ID:wvc715Cq477デフォルトの名無しさん
2023/05/19(金) 00:48:25.47ID:6a3TmOY7 PowerShellの下w
478デフォルトの名無しさん
2023/05/19(金) 04:15:06.52ID:31iAC5HD C++ってasync/awaitもまだstableではないんだな
大変だね
大変だね
479デフォルトの名無しさん
2023/05/19(金) 05:21:55.09ID:iSJAQTOS GitHubとStack Overflowか
まあお世話になってるけどそれでランキング付けされてもなあ
5chのム板を集計してみてよ外人
まあお世話になってるけどそれでランキング付けされてもなあ
5chのム板を集計してみてよ外人
480デフォルトの名無しさん
2023/05/19(金) 10:02:47.03ID:clAdGtGh Rust では || {} が
closure になるものとばかり思っていたが
関数ポインタとして扱われるケースもあるんだな
区別されてるということを学習した
closure になるものとばかり思っていたが
関数ポインタとして扱われるケースもあるんだな
区別されてるということを学習した
481デフォルトの名無しさん
2023/05/19(金) 10:21:21.01ID:+C2lMNEC FnOnce⊃FnMut⊃Fn⊃fn なだけだろ
482デフォルトの名無しさん
2023/05/19(金) 10:47:38.97ID:Jo96EeDW 山括弧の入れ子を許した者だけが||を使いなさい
483デフォルトの名無しさん
2023/05/19(金) 11:24:52.99ID:d+z8brnF >>480
クロージャが関数ポインタに自動的にcoerceされてるだけでは?
クロージャが関数ポインタに自動的にcoerceされてるだけでは?
484デフォルトの名無しさん
2023/05/19(金) 13:42:22.37ID:Jo96EeDW pythonさんが無名関数を雑に実装したおかげで
雑な名前をつけるより無名のほうがいいという価値観がもうない
雑な名前をつけるより無名のほうがいいという価値観がもうない
485デフォルトの名無しさん
2023/05/19(金) 14:23:39.94ID:BgwAo11V lambda式を変数fに入れていくスタイル
486デフォルトの名無しさん
2023/05/19(金) 15:00:56.18ID:clAdGtGh fn は短くて好き
lambda は長い
lambda は長い
487デフォルトの名無しさん
2023/05/19(金) 20:24:24.62ID:UN4uxJmD 一文字変数って、感覚的に、レジスタだよね
488デフォルトの名無しさん
2023/05/19(金) 23:42:01.79ID:HdJFwdmr >>487
FORTRANの話が始まるからよせ!
FORTRANの話が始まるからよせ!
489デフォルトの名無しさん
2023/05/20(土) 13:19:21.76ID:QfLlK72x map とかで
let e = hogemap.entry(hogeid).or_insert_with(|| Hoge::new());
は確かに便利なのですが
id が重複しないことはどうやって保証するの?
同じ id なら既存のに上書きは判らなくはないけど
それも禁止して上書き前に阻止したいときどう書く?
let e = hogemap.entry(hogeid).or_insert_with(|| Hoge::new());
は確かに便利なのですが
id が重複しないことはどうやって保証するの?
同じ id なら既存のに上書きは判らなくはないけど
それも禁止して上書き前に阻止したいときどう書く?
490デフォルトの名無しさん
2023/05/20(土) 13:22:01.56ID:PfZyfbnf 本スレで聞けや
491デフォルトの名無しさん
2023/05/20(土) 13:43:24.13ID:t3XWqp3Q entryの時点でハッシュ計算と衝突時含めたエントリ探索済
つまりエントリが空か既存かの状態を持つのがentry
あとはその状態により既存のを返すか空ならinsertしてそれを返すのがor_insert_withなどのメソッド
つまりエントリが空か既存かの状態を持つのがentry
あとはその状態により既存のを返すか空ならinsertしてそれを返すのがor_insert_withなどのメソッド
492デフォルトの名無しさん
2023/05/20(土) 14:17:02.46ID:sVUWQwSt >>489
そのコードで上書きは阻止できてるよ
そのコードで上書きは阻止できてるよ
493デフォルトの名無しさん
2023/05/20(土) 15:36:02.57ID:QfLlK72x 紛らわしくてごめん
上書きというか
重複してたらシレっと既存のデータ魅せるんじゃなくて
let e = hogemap.entry(hogeid).or_insert_with(|| Hoge::new());
新規の場合しか登録出来ない?みたいな動きを期待しています
上書きというか
重複してたらシレっと既存のデータ魅せるんじゃなくて
let e = hogemap.entry(hogeid).or_insert_with(|| Hoge::new());
新規の場合しか登録出来ない?みたいな動きを期待しています
494デフォルトの名無しさん
2023/05/20(土) 15:40:45.30ID:zdJ3jUBa それ新規の場合しか登録してないんだよ・・・
すでに同じキーがあった場合にどうしたいのか
もう少し望んでる仕様を日本語で明確にしてくれ
すでに同じキーがあった場合にどうしたいのか
もう少し望んでる仕様を日本語で明確にしてくれ
495デフォルトの名無しさん
2023/05/20(土) 15:42:10.43ID:zdJ3jUBa Entryの結果で分岐させたいってことなら
そうすればいいと思うんだが
そうすればいいと思うんだが
496デフォルトの名無しさん
2023/05/20(土) 15:53:16.36ID:3F2fq7k1 こんな感じでいいのかな
Entryはmapの型に合わせて別途useする必要があるけど
use std::collections::hash_map::Entry; // HashMapの場合
match hogemap.entry(hogeid) {
Entry::Occupied(_) => {
// エラー返す?
}
Entry::Vacant(e) => {
e.insert(Hoge::new());
}
}
Entryはmapの型に合わせて別途useする必要があるけど
use std::collections::hash_map::Entry; // HashMapの場合
match hogemap.entry(hogeid) {
Entry::Occupied(_) => {
// エラー返す?
}
Entry::Vacant(e) => {
e.insert(Hoge::new());
}
}
497デフォルトの名無しさん
2023/05/20(土) 19:48:56.10ID:tSqlJ0Tg >>476
この表ではCとC++を分けて書いてあるので、10位と7位になっているが、
「合算」して、C/C++ と捉えると、遥かに順位が上がって、
tiobeや日経では一位になっていた。但し、日経は「プロのプログラマ」限定
のランキング。
この表ではCとC++を分けて書いてあるので、10位と7位になっているが、
「合算」して、C/C++ と捉えると、遥かに順位が上がって、
tiobeや日経では一位になっていた。但し、日経は「プロのプログラマ」限定
のランキング。
498デフォルトの名無しさん
2023/05/20(土) 19:50:20.05ID:tSqlJ0Tg499デフォルトの名無しさん
2023/05/20(土) 22:11:15.78ID:5krDMoEC500デフォルトの名無しさん
2023/05/20(土) 23:03:14.13ID:am3G09Kz 何で?
501デフォルトの名無しさん
2023/05/20(土) 23:12:38.83ID:mmZhl8HV 混ぜたものh単にC++だし純粋なCを使ってる人はC++と区別してるだろ。
502デフォルトの名無しさん
2023/05/20(土) 23:17:27.29ID:9lPnbAJe この板ですらC/C++とかいう表記好むやつおって頭痛いわ
CのこともC++のこともおそらく両方とも聞きかじり程度なんだろう
CのこともC++のこともおそらく両方とも聞きかじり程度なんだろう
503デフォルトの名無しさん
2023/05/21(日) 00:05:23.22ID:vCRjs+cu C/C++ってのはCやC++という意味なので
グループ化して扱いたい文脈ならともかく
言語のランキングで異なる言語をまぜちゃダメでしょ
グループ化して扱いたい文脈ならともかく
言語のランキングで異なる言語をまぜちゃダメでしょ
504デフォルトの名無しさん
2023/05/21(日) 00:25:26.02ID:iv7vg6yo 世界ランク1位のAIや世界ランク1位の法人は何人分なのかしら
505デフォルトの名無しさん
2023/05/21(日) 02:34:22.95ID:hDRagkvp C++ってCを内包してるので異なる言語なのかっていうと
それはちょっと違う
それはちょっと違う
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/
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 【雑談】暇人集会所part18
- 外務省局長、よくわからないまま帰国へ [834922174]
