[過去ログ]
結局C++とRustってどっちが良いの? 8traits (1002レス)
結局C++とRustってどっちが良いの? 8traits http://mevius.5ch.net/test/read.cgi/tech/1698468300/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
831: デフォルトの名無しさん [sage] 2023/12/03(日) 22:55:35.48 ID:idvLkFW9 RVOにより呼び出し元でスタック領域を確保できつつ Rustのようにスタック領域に対しても自動的にライフタイム管理ができていれば コストの高いヒープ領域利用を可能な限り減らしつつ スタック領域を指す参照(ポインタ)を返したり他へ埋め込んだりしていても安全に使える というシンプルな話 http://mevius.5ch.net/test/read.cgi/tech/1698468300/831
832: デフォルトの名無しさん [] 2023/12/03(日) 23:01:41.36 ID:hT/LokGW C++もRustもベアメタルという土俵で真価を問われると思うよ 小型軽量ガジェットでAIを高速に処理出る言語に需要があると思ってる。 http://mevius.5ch.net/test/read.cgi/tech/1698468300/832
833: デフォルトの名無しさん [sage] 2023/12/03(日) 23:04:45.84 ID:8f6BMxsw ねーわw ガジェットww http://mevius.5ch.net/test/read.cgi/tech/1698468300/833
834: デフォルトの名無しさん [] 2023/12/03(日) 23:06:04.65 ID:JMjzgwiz ガジェットじゃなくて組み込みデバイスと言え http://mevius.5ch.net/test/read.cgi/tech/1698468300/834
835: デフォルトの名無しさん [sage] 2023/12/03(日) 23:16:00.90 ID:KItL/kTG Rust使ってるとヒープ領域はスタック上のどこかの変数の運命共同体って感覚になるから ヒープだからコストが高いって言われると何か違和感がある Box(ヒープ配置)にするかしないかでたまに迷うけど 【スタック領域】 ・サイズが固定 ・確保、解放のオーバーヘッドがない ・スタック上で頻繁にコピーされるからでかいと不利 【ヒープ領域】 ・サイズが自由 ・確保、解放のオーバーヘッドがある ・基本的に移動しないからでかいときに有利 みたいなイメージで使い分けてる スタック/ヒープだから安全/危険とかは特にないな http://mevius.5ch.net/test/read.cgi/tech/1698468300/835
836: デフォルトの名無しさん [] 2023/12/03(日) 23:16:28.96 ID:hT/LokGW 明日仕事がいやでストレスためてそうやなw http://mevius.5ch.net/test/read.cgi/tech/1698468300/836
837: デフォルトの名無しさん [sage] 2023/12/03(日) 23:38:17.10 ID:4Lj+S9P7 >>835 >>・スタック上で頻繁にコピーされるからでかいと不利 意図的に移動しない限りコピーはされない ヒープと同じで基本的に移動の必要はない 唯一コピーが起きそうに見える関数返しによる初期化はRVOによりコピーされない ヒープと同じで確保後はそこへの参照のみ扱うため移動コピーは起きない http://mevius.5ch.net/test/read.cgi/tech/1698468300/837
838: デフォルトの名無しさん [sage] 2023/12/04(月) 00:12:41.83 ID:ista3uD6 Result型とかOk(T)とErr(E)のTとEが同じ場所に置かれそうだけどRVO機能するのかな 真面目に調べたことないけどあまり当てにしてない 最適化で適用されたらラッキーくらいの感覚 http://mevius.5ch.net/test/read.cgi/tech/1698468300/838
839: デフォルトの名無しさん [sage] 2023/12/04(月) 01:36:48.81 ID:DD5cHxD/ >>835 スタックは常にキャッシュにのってる http://mevius.5ch.net/test/read.cgi/tech/1698468300/839
840: デフォルトの名無しさん [sage] 2023/12/04(月) 02:21:32.80 ID:7y9dHiQE まあRustはこのまま死ぬんだからどうでもよくね? http://mevius.5ch.net/test/read.cgi/tech/1698468300/840
841: デフォルトの名無しさん [] 2023/12/04(月) 03:52:22.51 ID:ukOfFF9P >>840 おまえのレスよりは重要だろ? http://mevius.5ch.net/test/read.cgi/tech/1698468300/841
842: デフォルトの名無しさん [sage] 2023/12/04(月) 04:29:02.89 ID:IuiYb6LZ >>840 お前自身がどうでもいい http://mevius.5ch.net/test/read.cgi/tech/1698468300/842
843: デフォルトの名無しさん [sage] 2023/12/04(月) 05:55:52.64 ID:9MFLJqwq >>833-834 ハンドヘルドとはいえ、64bitレジスタ当然、メモリもギガバイト当然、ってそんなの組み込みっていうんかw // てなことだと思う http://mevius.5ch.net/test/read.cgi/tech/1698468300/843
844: デフォルトの名無しさん [sage] 2023/12/04(月) 10:07:12.79 ID:vGycO/bS >>835 NGワードかもしれんが stackのメリットは基本的にGCのこと気にしなくて良くなる感覚 http://mevius.5ch.net/test/read.cgi/tech/1698468300/844
845: デフォルトの名無しさん [sage] 2023/12/04(月) 11:26:40.76 ID:t4TeK/vS たまにバカでかいオブジェクトをスタックに置くやつが現れるが スタックは一度伸びたらするスレッド死ぬまで開放されないからメモリ無駄遣いになる 組み込みやコンソールゲーム作ってるとこだとスタックに置けるオブジェクトのサイズの制限決めてるとこあると思うけどチェックがムズいよな 昔仕事でライブラリ開発したときは最大スタック消費量が仕様で決まってた バグフィクスでもその上限超えてはならない http://mevius.5ch.net/test/read.cgi/tech/1698468300/845
846: デフォルトの名無しさん [sage] 2023/12/04(月) 12:05:08.64 ID:EKSqu5ND >>813 そりゃ、テンプレートとかは基本ライブラリアン向けの機能で、コーダーから複雑性を隠蔽ながら高度な機能を使わせるためのものだからな。 コーダーが自作テンプレートを使わなくてはならない状況になったら、何か設計が間違っていないか注意する必要がある。 まぁc++だとそういう状況もあるから辛いけど。 http://mevius.5ch.net/test/read.cgi/tech/1698468300/846
847: デフォルトの名無しさん [sage] 2023/12/04(月) 12:20:54.27 ID:EwsyjZMT >>837 >意図的に移動しない限りコピーはされない これは微妙すぎる 「意図的」も「移動」も恣意的過ぎるから後出し無敵じゃんけんにしかならない コピーされないこともあるがコピーされる可能性を前提として最初から考えておくべき http://mevius.5ch.net/test/read.cgi/tech/1698468300/847
848: デフォルトの名無しさん [sage] 2023/12/04(月) 12:32:02.91 ID:5v4NXSIj Rustのmonomorphization使った静的ポリモーフィズムと同じようなことしたければC++はテンプレート必須だから ハイレベルのコードしか書かないアプリケーションプログラマーでも普通に使う必要があるでしょ http://mevius.5ch.net/test/read.cgi/tech/1698468300/848
849: デフォルトの名無しさん [sage] 2023/12/04(月) 13:13:30.82 ID:TyudsW/I >>845 そういやスタックは一度伸びたら伸びっぱなしだったな これ傍から見たらメモリリークにも見えるし 何でもスタックはあかんのじゃないか http://mevius.5ch.net/test/read.cgi/tech/1698468300/849
850: デフォルトの名無しさん [sage] 2023/12/04(月) 13:29:26.93 ID:+6ZMbPCa 誰からも指摘されずにどんどん明後日の方向に向かって行っているのは見てる分には面白い どうか第2の毛の壁と化しませんように 南無阿弥陀仏 http://mevius.5ch.net/test/read.cgi/tech/1698468300/850
851: デフォルトの名無しさん [sage] 2023/12/04(月) 13:38:09.73 ID:EKSqu5ND >>849 スタックの取扱いを調整すればよろし。 コールスタックとデータスタックを分けてデータスタックをメモリブロックにするとか、大きいのはマネージドヒープに置くようにするとか。 だんだんヒープに近くなるからスタックのメリットは無くなるけど。 http://mevius.5ch.net/test/read.cgi/tech/1698468300/851
852: デフォルトの名無しさん [] 2023/12/04(月) 19:31:46.91 ID:Vux7QnQs コードをよりコンパクトな短文にしようと追求したらテンプレートを使うようになるのはごく当たり前だよ http://mevius.5ch.net/test/read.cgi/tech/1698468300/852
853: デフォルトの名無しさん [sage] 2023/12/04(月) 19:42:38.90 ID:BRBvRtzF >>835 モダンなC++もそれだぞ class Hoge { private: std::shared_ptr<HogeInternal> hoge; }; Hogeは常にスタックに割り当てる 実際のオブジェクトはHogeInternalで実装する こうしておけばめちゃくちゃ安全になる http://mevius.5ch.net/test/read.cgi/tech/1698468300/853
854: デフォルトの名無しさん [sage] 2023/12/04(月) 19:56:42.31 ID:S3L8tG/0 なんで馬鹿はshared_ptr使いたがるんだろう 生ポでいいだろ http://mevius.5ch.net/test/read.cgi/tech/1698468300/854
855: デフォルトの名無しさん [sage] 2023/12/04(月) 20:13:20.11 ID:ista3uD6 3/5/0則を知らないもっと馬鹿なやつがdelete用のデストラクタだけ実装して 事故が多発したからでは http://mevius.5ch.net/test/read.cgi/tech/1698468300/855
856: デフォルトの名無しさん [sage] 2023/12/04(月) 20:18:13.44 ID:61k0lpUm >>853 それはHogeInternalがヒープ領域に置かれてしまいスタック領域の利用ではない さらに参照カウントのオーバーヘッドもある http://mevius.5ch.net/test/read.cgi/tech/1698468300/856
857: デフォルトの名無しさん [] 2023/12/04(月) 20:23:01.45 ID:lyR6TlPF C++、雰囲気で書いたらすぐに壊れるくせに文法がどんどん増えていくのついていけねえわ どんだけの勉強コストを一つの言語に払わせる気だよ C++に人生捧げて他のこと何も出来ない無能だけが扱える言語となりつつある http://mevius.5ch.net/test/read.cgi/tech/1698468300/857
858: デフォルトの名無しさん [sage] 2023/12/04(月) 20:27:01.58 ID:648vwdUw 3/5/0則みたいな言語の欠陥に疑問を持たなくなったらもう終わり http://mevius.5ch.net/test/read.cgi/tech/1698468300/858
859: デフォルトの名無しさん [sage] 2023/12/04(月) 20:31:26.59 ID:KZyfgQnR >>856 いだから置くんだよ 伝わってないみたいだから説明するとHogeに直接実装しないってことを言ってる 間接参照を一段挟むのよ こうすることでコピーしまくっても問題ないヒープに確保されたオブジェクトができる 多少オーバーヘッドは生まれるがめちゃくちゃ安全性は上がるんよ http://mevius.5ch.net/test/read.cgi/tech/1698468300/859
860: デフォルトの名無しさん [] 2023/12/04(月) 20:32:20.03 ID:oiJ5wZfJ そそ、難解な概念使いこなせるのはすごいけど、会社でマウントとれるだけ 世の中が求めてるのはそこじゃない。 http://mevius.5ch.net/test/read.cgi/tech/1698468300/860
861: デフォルトの名無しさん [sage] 2023/12/04(月) 20:59:36.17 ID:H6ggqIOp >>859 Rustを使えばヒープではなくスタック領域に確保してそこへの参照をオーバーヘッドなしで安全に使えるよ その点がRustとC++の差 http://mevius.5ch.net/test/read.cgi/tech/1698468300/861
862: デフォルトの名無しさん [sage] 2023/12/04(月) 21:10:50.41 ID:61k0lpUm >>859 ヒープを使うというオーバーヘッドに加えて 参照カウントを使うというオーバーヘッドまで加わる もちろん各々が不可欠な場合や両方が不可欠な場合もあるがその前提や吟味をせずに まともなプログラマーがとる選択肢ではない http://mevius.5ch.net/test/read.cgi/tech/1698468300/862
863: デフォルトの名無しさん [sage] 2023/12/04(月) 21:14:53.25 ID:KZyfgQnR >>862 嫌だから共有が必要な場合って書いてあるだろ 日本語読める? 共有じゃないならstd::unique_ptrでもいいよ http://mevius.5ch.net/test/read.cgi/tech/1698468300/863
864: デフォルトの名無しさん [sage] 2023/12/04(月) 21:15:11.88 ID:KZyfgQnR Hogeに実装しないことでコピー時のオーバーヘッドを防ぐ さらに個別にコピーのことを考える必要性がなくなる HogeInternalのコピーコストだけで済むため高速 shared_ptrは安全にコピー可能 データは共有できメモリ管理も自動で行われる ヒープにとらなきゃいけなくて共有する可能性があるオブジェクトはこのパターンで実装してください マジで何も考えなくていいから http://mevius.5ch.net/test/read.cgi/tech/1698468300/864
865: デフォルトの名無しさん [sage] 2023/12/04(月) 21:18:26.98 ID:KZyfgQnR >>861 C++で極力Rustっぽく書くにはどうすべきかを突き詰めたらこうなった 褒めてくれ http://mevius.5ch.net/test/read.cgi/tech/1698468300/865
866: デフォルトの名無しさん [sage] 2023/12/04(月) 21:25:29.71 ID:H6ggqIOp >>863 Rustなら参照の共有はヒープを使わずスタックに置いてあるものに対しても安全に可能です もちろん参照カウンタは必要ありません ちなみにRustでC++のshared_ptrに相当するRc/Arcを必要とするのはもっと限定された状況で所有の共有が必要となる時のみです http://mevius.5ch.net/test/read.cgi/tech/1698468300/866
867: デフォルトの名無しさん [sage] 2023/12/04(月) 21:32:42.16 ID:KZyfgQnR 新たな間接参照でラップすることであたかも普通の変数を作るかのようにヒープに値を置ける このパターンめちゃくちゃ有用なんだがなぜあらゆる本で紹介されてないんだ? http://mevius.5ch.net/test/read.cgi/tech/1698468300/867
868: デフォルトの名無しさん [sage] 2023/12/04(月) 21:35:03.72 ID:KZyfgQnR コロンブスの卵だわ 誰もが思いつきそうで思いつかなかった http://mevius.5ch.net/test/read.cgi/tech/1698468300/868
869: デフォルトの名無しさん [sage] 2023/12/04(月) 21:39:30.12 ID:KZyfgQnR >>866 まあその辺はさすがRust http://mevius.5ch.net/test/read.cgi/tech/1698468300/869
870: デフォルトの名無しさん [sage] 2023/12/04(月) 21:41:03.87 ID:ista3uD6 本気でRustに寄せるならunique_ptrの方がいいな コンパイラが助けてくれないから死にそうだけど とりあえず循環参照だけは気を付けてくれ >>867 目的はちょっと違うけどPimplってイディオムがある http://mevius.5ch.net/test/read.cgi/tech/1698468300/870
871: デフォルトの名無しさん [] 2023/12/04(月) 21:54:58.33 ID:85Eugi9n 継承じゃ無くて、包含して各メソッドをバトン渡しすれば良くね? http://mevius.5ch.net/test/read.cgi/tech/1698468300/871
872: デフォルトの名無しさん [sage] 2023/12/04(月) 22:45:48.75 ID:t1H4jiv7 >>867 他のやつも書いてるけどpimplな 20年前から知られている ひたすらdelegate関数を書くのがだるい 使う側がshared_ptrで包むというルールのほうが楽 http://mevius.5ch.net/test/read.cgi/tech/1698468300/872
873: デフォルトの名無しさん [] 2023/12/04(月) 23:15:56.57 ID:o6jCQk0t >>872 >ひたすらdelegate関数を書くのがだるい 書かねば良いのでは? http://mevius.5ch.net/test/read.cgi/tech/1698468300/873
874: デフォルトの名無しさん [sage] 2023/12/04(月) 23:53:40.38 ID:xybHpH7g >>867 間接参照でいいならわざわざクラスでラップしなくてもshared_ptrそのものでいいように思うんだが shared_ptr<HogeInternal>で扱うより ラップしたHogeで扱ったほうがいいメリットって何? http://mevius.5ch.net/test/read.cgi/tech/1698468300/874
875: デフォルトの名無しさん [] 2023/12/05(火) 00:09:25.25 ID:NEqb8LdH mallocでメモリ確保するの気持ちイィ🥴 http://mevius.5ch.net/test/read.cgi/tech/1698468300/875
876: デフォルトの名無しさん [sage] 2023/12/05(火) 00:55:04.31 ID:gtr9NjJz >>872 20年前にこの概念が存在していたのか 当時はauto_ptrとかオレオレメモリ管理モジュールだったとは思うけど http://mevius.5ch.net/test/read.cgi/tech/1698468300/876
877: デフォルトの名無しさん [sage] 2023/12/05(火) 00:58:42.15 ID:gtr9NjJz >>872 ライブラリとして定期したい場合はshared_ptrで常に包むルールを強制するのも難しいとかかな http://mevius.5ch.net/test/read.cgi/tech/1698468300/877
878: デフォルトの名無しさん [sage] 2023/12/05(火) 04:45:21.81 ID:55rynLOP delegate指定子欲しいよな。 クラスor変数でまとめて指定できればなお良し。 http://mevius.5ch.net/test/read.cgi/tech/1698468300/878
879: デフォルトの名無しさん [sage] 2023/12/05(火) 05:43:53.62 ID:DR8rm2oC それってRustのDeref? http://mevius.5ch.net/test/read.cgi/tech/1698468300/879
880: デフォルトの名無しさん [] 2023/12/05(火) 08:01:23.94 ID:HiCWBikd std::byteを使ってみた結果 危険な計算ができるのがC/C++を使う理由という結論になった http://mevius.5ch.net/test/read.cgi/tech/1698468300/880
881: デフォルトの名無しさん [sage] 2023/12/05(火) 08:50:09.72 ID:iiJ5Z2H1 一人で何役やってるの? http://mevius.5ch.net/test/read.cgi/tech/1698468300/881
882: デフォルトの名無しさん [sage] 2023/12/05(火) 09:49:41.30 ID:Akhn3hwz >>881 数えてみろよ http://mevius.5ch.net/test/read.cgi/tech/1698468300/882
883: デフォルトの名無しさん [sage] 2023/12/05(火) 10:22:23.63 ID:0dgzhl7w >>877 Factoryメソッド経由でしかインスタンス化できないようにするとかして常にshared_ptrやunique_ptrで返すようにすればいいのでは? http://mevius.5ch.net/test/read.cgi/tech/1698468300/883
884: デフォルトの名無しさん [sage] 2023/12/05(火) 10:50:40.33 ID:cS2yZHjP >>879 delegateに欲しいのはあくまでAdaptorの実装を簡単にする機能。 参照外しとかして型を変えるのはNG。 http://mevius.5ch.net/test/read.cgi/tech/1698468300/884
885: デフォルトの名無しさん [sage] 2023/12/05(火) 11:56:35.63 ID:pNurA5HJ Rustのdelegate!のようなことがC++ではまだ出来ないということか 汚いマクロ書けばできそうだけど綺麗に書くにはReflection待ちなのかな http://mevius.5ch.net/test/read.cgi/tech/1698468300/885
886: デフォルトの名無しさん [sage] 2023/12/05(火) 13:26:22.00 ID:iiJ5Z2H1 >>882 こういうキチガイ対策にワッチョイ必要かもな http://mevius.5ch.net/test/read.cgi/tech/1698468300/886
887: デフォルトの名無しさん [sage] 2023/12/05(火) 13:34:36.87 ID:gtr9NjJz >>882 きっしょw http://mevius.5ch.net/test/read.cgi/tech/1698468300/887
888: デフォルトの名無しさん [sage] 2023/12/05(火) 14:18:15.60 ID:DR8rm2oC >>884 スマートポインタなのだから Derefにより自動的に参照できれば十分だろ http://mevius.5ch.net/test/read.cgi/tech/1698468300/888
889: デフォルトの名無しさん [sage] 2023/12/05(火) 14:23:46.88 ID:4UYj/sQ8 ワッチョイ立てたってところで結局また次世代言語スレと同じ流れになってRustスレに帰ってくるんだろ http://mevius.5ch.net/test/read.cgi/tech/1698468300/889
890: デフォルトの名無しさん [sage] 2023/12/05(火) 14:24:46.44 ID:4UYj/sQ8 ×立てたってところで ○立てたところで http://mevius.5ch.net/test/read.cgi/tech/1698468300/890
891: デフォルトの名無しさん [sage] 2023/12/05(火) 14:31:18.82 ID:1iJo44eg Adaptorにだけ執拗にこだわるオジもアレだか Adaptorも知らずにDerefを勧めるオジは論外 http://mevius.5ch.net/test/read.cgi/tech/1698468300/891
892: デフォルトの名無しさん [sage] 2023/12/05(火) 14:58:30.60 ID:gtr9NjJz >>883 ユーザーに返す型では流石に気持ち悪いと思うなあ C++難し過ぎるだろ 選択肢が多過ぎる かといって安全でもない もうRust使わせてくれ http://mevius.5ch.net/test/read.cgi/tech/1698468300/892
893: デフォルトの名無しさん [sage] 2023/12/05(火) 15:21:39.57 ID:MywljXTh >>892 別の理由でfactory使うときはどのみちshard_ptrかunique_ptrにせざるを得ない (生ポインタはありえない) だからそこを気持ち悪いと言っても仕方ない http://mevius.5ch.net/test/read.cgi/tech/1698468300/893
894: デフォルトの名無しさん [sage] 2023/12/05(火) 15:51:48.29 ID:Nvodex4n >>892 Rustでもそこは同じだと思うよ ライブラリからBoxやArcが返されるものもあればそれらをラップした型が返されるものもある シンプルなケースなら前者の方が圧倒的に使いやすい 内包する型のネストが深い場合などで便利メソッドを提供するなら後者ってイメージ 要はラップするだけの付加価値があるかどうか http://mevius.5ch.net/test/read.cgi/tech/1698468300/894
895: デフォルトの名無しさん [] 2023/12/05(火) 15:52:25.13 ID:QJai9ytv >>854 馬鹿は平気で二重に解放したりする 全然気にしないから馬鹿なんだけどね http://mevius.5ch.net/test/read.cgi/tech/1698468300/895
896: デフォルトの名無しさん [sage] 2023/12/05(火) 16:00:15.02 ID:8v2tQb+c >>854 いやいやいやいやw http://mevius.5ch.net/test/read.cgi/tech/1698468300/896
897: デフォルトの名無しさん [sage] 2023/12/05(火) 16:26:52.90 ID:sq6EbAl6 リファレンスカウンタ方式のGCを基本にするんならGC言語でいいんじゃねってならない? http://mevius.5ch.net/test/read.cgi/tech/1698468300/897
898: デフォルトの名無しさん [sage] 2023/12/05(火) 16:45:36.42 ID:iiJ5Z2H1 >>889 えー http://mevius.5ch.net/test/read.cgi/tech/1698468300/898
899: デフォルトの名無しさん [sage] 2023/12/05(火) 16:47:29.78 ID:MywljXTh ならない リアルタイム系アプリでGCは困る http://mevius.5ch.net/test/read.cgi/tech/1698468300/899
900: デフォルトの名無しさん [sage] 2023/12/05(火) 17:17:38.64 ID:CoP1YuvK 循環参照で発生するリークを検出するか放置するか あるいは循環参照を回避するか それが問題だ http://mevius.5ch.net/test/read.cgi/tech/1698468300/900
901: デフォルトの名無しさん [sage] 2023/12/05(火) 17:29:27.24 ID:W0r7TCUZ >>899 マークスウィープの話をしてないぞ リファレンスカウンタ方式のGCすら使えないというならshared_ptrも同様に使えないということになる http://mevius.5ch.net/test/read.cgi/tech/1698468300/901
902: デフォルトの名無しさん [sage] 2023/12/05(火) 17:59:20.81 ID:ugZXhcp8 手動メモリ管理のできないGC言語は高コストをかけて循環参照を回収せざるをえない 手動メモリ管理のできるC++/Rustは循環参照を避けることができて低コスト その話とは別にshared_ptrやRc/Arcは参照カウンタによるコストがかかる そのため複数所有者を使わざるを得ない場合に限定して用いる http://mevius.5ch.net/test/read.cgi/tech/1698468300/902
903: デフォルトの名無しさん [sage] 2023/12/05(火) 18:13:07.15 ID:Ppu4uIXE >>902 Weak Reference等を使って循環参照を手動で避ける方法が用意されてるかどうかは手動メモリ管理かどうかとは全く関係ないよ http://mevius.5ch.net/test/read.cgi/tech/1698468300/903
904: デフォルトの名無しさん [sage] 2023/12/05(火) 18:43:14.63 ID:gtr9NjJz >>894 気持ち的にはラップしたいかなあ http://mevius.5ch.net/test/read.cgi/tech/1698468300/904
905: デフォルトの名無しさん [sage] 2023/12/05(火) 19:04:48.69 ID:gtr9NjJz 全銀システム障害「詳細設計書見落とし」でオーバーフローの痛恨、再発防止なるか https://xtech.nikkei.com/atcl/nxt/column/18/00001/08680/ Rustを使えばいいじゃない http://mevius.5ch.net/test/read.cgi/tech/1698468300/905
906: デフォルトの名無しさん [sage] 2023/12/05(火) 19:13:25.15 ID:gquaqYbt IBMだったらJavaだったのに http://mevius.5ch.net/test/read.cgi/tech/1698468300/906
907: デフォルトの名無しさん [] 2023/12/05(火) 19:18:25.05 ID:800y2Su3 積極的にC++を使いたがる人ってC++のどこに魅力を感じているんだ http://mevius.5ch.net/test/read.cgi/tech/1698468300/907
908: デフォルトの名無しさん [sage] 2023/12/05(火) 19:24:31.25 ID:GrTJwyK/ Cとの互換性 http://mevius.5ch.net/test/read.cgi/tech/1698468300/908
909: デフォルトの名無しさん [] 2023/12/05(火) 19:32:43.32 ID:4rw/VL0P >>897 問題はGC言語は *常に* GC機能ありなところ。 http://mevius.5ch.net/test/read.cgi/tech/1698468300/909
910: デフォルトの名無しさん [sage] 2023/12/05(火) 19:40:36.09 ID:iiJ5Z2H1 >>907 オブジェクト指向w http://mevius.5ch.net/test/read.cgi/tech/1698468300/910
911: デフォルトの名無しさん [] 2023/12/05(火) 20:04:51.38 ID:3vhS3QGH リファレンスカウンター気にするくらい速度を求めるなら、RAIIすら嫌だとはならんのかな mallocはプログラムの最初に一回呼ぶ以外は許されない http://mevius.5ch.net/test/read.cgi/tech/1698468300/911
912: デフォルトの名無しさん [] 2023/12/05(火) 20:31:30.51 ID:GM9Glwep >>907 組み込み系でオブジェクトやりたい人 あと意図的に悪意あるコードを仕込む人とか。 http://mevius.5ch.net/test/read.cgi/tech/1698468300/912
913: デフォルトの名無しさん [] 2023/12/05(火) 21:15:38.20 ID:HiCWBikd やりたいことが出来るのが一番の理由 アンリミテッドが魅力 http://mevius.5ch.net/test/read.cgi/tech/1698468300/913
914: デフォルトの名無しさん [sage] 2023/12/05(火) 21:36:14.43 ID:9fH1d+k3 参照カウントて結構コストあったよな……と探したら解説見つけた。 yamasa.hatenablog.jp/entry/2021/01/29/012525 昔は並列処理と相性悪いと言われていたけど、今はどうかね? http://mevius.5ch.net/test/read.cgi/tech/1698468300/914
915: デフォルトの名無しさん [sage] 2023/12/05(火) 21:36:19.50 ID:ckmQfDX3 ++C Unsafety Unlimited C++ http://mevius.5ch.net/test/read.cgi/tech/1698468300/915
916: デフォルトの名無しさん [sage] 2023/12/05(火) 21:43:08.45 ID:tZxAn7Rl >>909 GC言語でもunsafeで手動管理とかできるよ Rustと同じで基本がsafeだからC++をsafeにしていくよりもずっと簡単で問題が起きにくいアプローチ http://mevius.5ch.net/test/read.cgi/tech/1698468300/916
917: デフォルトの名無しさん [sage] 2023/12/05(火) 21:59:57.96 ID:puqODfvy >>902 >そのため複数所有者を使わざるを得ない場合に限定して用いる 複数所有者を使わざるを得ない状況かどうかを確実に見分けるのはそれなりに難しい Rustの場合はコンパイル通らないから無駄にRc/Arcを違うことはあっても逆はないので安全 C++は逆もある >>853が「めちゃくちゃ安全になる」と言ってる理由もその辺にあるのでは http://mevius.5ch.net/test/read.cgi/tech/1698468300/917
918: デフォルトの名無しさん [sage] 2023/12/05(火) 22:10:46.45 ID:vNAfxFS3 >>911 RAII自体はコストゼロ RAIIで解放されるスタック上の値の型にデストラクタがある時にその実行コストがかかる そしてヒープ領域を所有していればヒープ解放コストがかかる 何度もヒープ確保解放を繰り返すよりはなるべく最初に確保するのはもちろん正しい スタック領域で済ませられるならさらに望ましい http://mevius.5ch.net/test/read.cgi/tech/1698468300/918
919: デフォルトの名無しさん [sage] 2023/12/05(火) 22:57:00.41 ID:iiJ5Z2H1 全部独り言だったりしてw http://mevius.5ch.net/test/read.cgi/tech/1698468300/919
920: デフォルトの名無しさん [sage] 2023/12/06(水) 01:20:30.01 ID:N0N71GtG メモリに展開するのにオーバーフローしてもエラーを通知しないの? https://japan.zdnet.com/article/35212258/ 言語はCらしいけどどういうプログラムなんだろう まじでmallocしてそこにmemcpyしてるだけなんじゃないか 対策はRustで書き直せ http://mevius.5ch.net/test/read.cgi/tech/1698468300/920
921: デフォルトの名無しさん [sage] 2023/12/06(水) 01:23:15.09 ID:N0N71GtG たとえクソレガシーだったとしても書き込むアドレスの範囲が想定してるものかのチェックは入れるべきだろう どうせオフセットも手計算だろうし http://mevius.5ch.net/test/read.cgi/tech/1698468300/921
922: デフォルトの名無しさん [] 2023/12/06(水) 01:40:45.31 ID:MT5mgeUa >>916 >>>909 >GC言語でもunsafeで手動管理とかできるよ どの言語?具体名あげてくれ。 http://mevius.5ch.net/test/read.cgi/tech/1698468300/922
923: デフォルトの名無しさん [sage] 2023/12/06(水) 01:58:21.86 ID:+XLnMsko [gc unsafe] [🔍] http://mevius.5ch.net/test/read.cgi/tech/1698468300/923
924: デフォルトの名無しさん [sage] 2023/12/06(水) 09:15:07.04 ID:oM0gjrfW >>867-868 循環参照は? http://mevius.5ch.net/test/read.cgi/tech/1698468300/924
925: デフォルトの名無しさん [] 2023/12/06(水) 09:17:14.31 ID:oM0gjrfW >>867 >あらゆる本で紹介されてない a)全ての本で紹介されていない b)紹介された本がひとつもない どっちの意味?念のため確認 http://mevius.5ch.net/test/read.cgi/tech/1698468300/925
926: デフォルトの名無しさん [sage] 2023/12/06(水) 09:18:07.12 ID:oM0gjrfW >925 補足 a)全ての本で紹介されていない (紹介されてる本は少なくとも一つ以上ある) http://mevius.5ch.net/test/read.cgi/tech/1698468300/926
927: デフォルトの名無しさん [sage] 2023/12/06(水) 09:20:39.56 ID:oM0gjrfW >>868 思い付いている人は大勢居る >>865 >C++で極力Rustっぽく書く いやいや Rust 以前から Rust 無関係に C++ で普通に C++ っぽく描いた結果でしょ きみ承認欲求強過ぎるね http://mevius.5ch.net/test/read.cgi/tech/1698468300/927
928: デフォルトの名無しさん [sage] 2023/12/06(水) 10:53:51.94 ID:CNnXy5JV >>922 メジャーなとこで言えばC#とかSwiftとか http://mevius.5ch.net/test/read.cgi/tech/1698468300/928
929: デフォルトの名無しさん [sage] 2023/12/06(水) 11:45:54.12 ID:oM0gjrfW >>905 やっぱりNATテーブル不良で再起動したら治るルーターじゃん http://mevius.5ch.net/test/read.cgi/tech/1698468300/929
930: デフォルトの名無しさん [sage] 2023/12/06(水) 12:09:32.50 ID:4VSkBLs6 >>929 頭大丈夫か? http://mevius.5ch.net/test/read.cgi/tech/1698468300/930
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 72 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.133s*