「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
・C/C++ <=> Rust いまさら聞けない移行質問なども適当にどぞ
・レスバはじめんのは勝手だけど、面白いこと・へぇなこと書いたヤツが優勝
・マな話は、マのスレもご活用ください↓
前スレ: 結局C++とRustってどっちが良いの? 7traits
http://mevius.5ch.net/test/read.cgi/tech/1693451813/
関連スレ(マ板): Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理ミス。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
探検
結局C++とRustってどっちが良いの? 8traits
レス数が900を超えています。1000を超えると表示できなくなるよ。
2023/10/28(土) 13:45:00.38ID:fh9BWjjr
820デフォルトの名無しさん
2023/12/03(日) 17:57:09.24ID:st4Oydl2 このスレはワッチョイ必要だねえ
次スレの1の本文先頭に以下を追加しといてね
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
次スレの1の本文先頭に以下を追加しといてね
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
821デフォルトの名無しさん
2023/12/03(日) 18:05:13.75ID:7+5J7jul >>818
はww
はww
822デフォルトの名無しさん
2023/12/03(日) 19:07:22.56ID:hEqJHVGR わかる 裏方向けっていうか、裏方モードのときだね
アプリ開発してる最中に、ややこしいクラスライブラリを内製してる…ばっかりでもない
アプリ開発してる最中に、ややこしいクラスライブラリを内製してる…ばっかりでもない
823デフォルトの名無しさん
2023/12/03(日) 19:10:50.45ID:hEqJHVGR 人殴ったりはしないけど、アホなこと書いたりはしちゃうんだよねえ(無知を晒す自爆型)
1日経ったらチャラになってくれたほうが気は楽
1日経ったらチャラになってくれたほうが気は楽
824デフォルトの名無しさん
2023/12/03(日) 19:13:42.60ID:Y6w6S9dN 次スレ自体いらんが
825デフォルトの名無しさん
2023/12/03(日) 19:55:23.02ID:hEqJHVGR 絶対必要なモノなんてない 俺すら不要物
826デフォルトの名無しさん
2023/12/03(日) 20:29:50.68ID:2KUtTHRr 俺スラ?
は?
www
は?
www
827デフォルトの名無しさん
2023/12/03(日) 20:33:01.48ID:PuZI2f4X >>819
効いてる効いてるw
効いてる効いてるw
828デフォルトの名無しさん
2023/12/03(日) 21:02:12.27ID:o7sDI4zZ じゃあベアメタルではヒープとスタックはどうなるの?
829デフォルトの名無しさん
2023/12/03(日) 22:33:53.82ID:K2dbitVB まだいたのかベアメタル
830デフォルトの名無しさん
2023/12/03(日) 22:41:05.20ID:hEqJHVGR マイコンいろいろ買ってみたけど、結局デスクトップばかりいじってる俺、なんとも言えずw
831デフォルトの名無しさん
2023/12/03(日) 22:55:35.48ID:idvLkFW9 RVOにより呼び出し元でスタック領域を確保できつつ
Rustのようにスタック領域に対しても自動的にライフタイム管理ができていれば
コストの高いヒープ領域利用を可能な限り減らしつつ
スタック領域を指す参照(ポインタ)を返したり他へ埋め込んだりしていても安全に使える
というシンプルな話
Rustのようにスタック領域に対しても自動的にライフタイム管理ができていれば
コストの高いヒープ領域利用を可能な限り減らしつつ
スタック領域を指す参照(ポインタ)を返したり他へ埋め込んだりしていても安全に使える
というシンプルな話
832デフォルトの名無しさん
2023/12/03(日) 23:01:41.36ID:hT/LokGW C++もRustもベアメタルという土俵で真価を問われると思うよ
小型軽量ガジェットでAIを高速に処理出る言語に需要があると思ってる。
小型軽量ガジェットでAIを高速に処理出る言語に需要があると思ってる。
833デフォルトの名無しさん
2023/12/03(日) 23:04:45.84ID:8f6BMxsw ねーわw
ガジェットww
ガジェットww
834デフォルトの名無しさん
2023/12/03(日) 23:06:04.65ID:JMjzgwiz ガジェットじゃなくて組み込みデバイスと言え
835デフォルトの名無しさん
2023/12/03(日) 23:16:00.90ID:KItL/kTG Rust使ってるとヒープ領域はスタック上のどこかの変数の運命共同体って感覚になるから
ヒープだからコストが高いって言われると何か違和感がある
Box(ヒープ配置)にするかしないかでたまに迷うけど
【スタック領域】
・サイズが固定
・確保、解放のオーバーヘッドがない
・スタック上で頻繁にコピーされるからでかいと不利
【ヒープ領域】
・サイズが自由
・確保、解放のオーバーヘッドがある
・基本的に移動しないからでかいときに有利
みたいなイメージで使い分けてる
スタック/ヒープだから安全/危険とかは特にないな
ヒープだからコストが高いって言われると何か違和感がある
Box(ヒープ配置)にするかしないかでたまに迷うけど
【スタック領域】
・サイズが固定
・確保、解放のオーバーヘッドがない
・スタック上で頻繁にコピーされるからでかいと不利
【ヒープ領域】
・サイズが自由
・確保、解放のオーバーヘッドがある
・基本的に移動しないからでかいときに有利
みたいなイメージで使い分けてる
スタック/ヒープだから安全/危険とかは特にないな
836デフォルトの名無しさん
2023/12/03(日) 23:16:28.96ID:hT/LokGW 明日仕事がいやでストレスためてそうやなw
837デフォルトの名無しさん
2023/12/03(日) 23:38:17.10ID:4Lj+S9P7 >>835
>>・スタック上で頻繁にコピーされるからでかいと不利
意図的に移動しない限りコピーはされない
ヒープと同じで基本的に移動の必要はない
唯一コピーが起きそうに見える関数返しによる初期化はRVOによりコピーされない
ヒープと同じで確保後はそこへの参照のみ扱うため移動コピーは起きない
>>・スタック上で頻繁にコピーされるからでかいと不利
意図的に移動しない限りコピーはされない
ヒープと同じで基本的に移動の必要はない
唯一コピーが起きそうに見える関数返しによる初期化はRVOによりコピーされない
ヒープと同じで確保後はそこへの参照のみ扱うため移動コピーは起きない
838デフォルトの名無しさん
2023/12/04(月) 00:12:41.83ID:ista3uD6 Result型とかOk(T)とErr(E)のTとEが同じ場所に置かれそうだけどRVO機能するのかな
真面目に調べたことないけどあまり当てにしてない
最適化で適用されたらラッキーくらいの感覚
真面目に調べたことないけどあまり当てにしてない
最適化で適用されたらラッキーくらいの感覚
839デフォルトの名無しさん
2023/12/04(月) 01:36:48.81ID:DD5cHxD/ >>835
スタックは常にキャッシュにのってる
スタックは常にキャッシュにのってる
840デフォルトの名無しさん
2023/12/04(月) 02:21:32.80ID:7y9dHiQE まあRustはこのまま死ぬんだからどうでもよくね?
841デフォルトの名無しさん
2023/12/04(月) 03:52:22.51ID:ukOfFF9P >>840
おまえのレスよりは重要だろ?
おまえのレスよりは重要だろ?
842デフォルトの名無しさん
2023/12/04(月) 04:29:02.89ID:IuiYb6LZ >>840
お前自身がどうでもいい
お前自身がどうでもいい
843デフォルトの名無しさん
2023/12/04(月) 05:55:52.64ID:9MFLJqwq844デフォルトの名無しさん
2023/12/04(月) 10:07:12.79ID:vGycO/bS845デフォルトの名無しさん
2023/12/04(月) 11:26:40.76ID:t4TeK/vS たまにバカでかいオブジェクトをスタックに置くやつが現れるが
スタックは一度伸びたらするスレッド死ぬまで開放されないからメモリ無駄遣いになる
組み込みやコンソールゲーム作ってるとこだとスタックに置けるオブジェクトのサイズの制限決めてるとこあると思うけどチェックがムズいよな
昔仕事でライブラリ開発したときは最大スタック消費量が仕様で決まってた
バグフィクスでもその上限超えてはならない
スタックは一度伸びたらするスレッド死ぬまで開放されないからメモリ無駄遣いになる
組み込みやコンソールゲーム作ってるとこだとスタックに置けるオブジェクトのサイズの制限決めてるとこあると思うけどチェックがムズいよな
昔仕事でライブラリ開発したときは最大スタック消費量が仕様で決まってた
バグフィクスでもその上限超えてはならない
846デフォルトの名無しさん
2023/12/04(月) 12:05:08.64ID:EKSqu5ND >>813
そりゃ、テンプレートとかは基本ライブラリアン向けの機能で、コーダーから複雑性を隠蔽ながら高度な機能を使わせるためのものだからな。
コーダーが自作テンプレートを使わなくてはならない状況になったら、何か設計が間違っていないか注意する必要がある。
まぁc++だとそういう状況もあるから辛いけど。
そりゃ、テンプレートとかは基本ライブラリアン向けの機能で、コーダーから複雑性を隠蔽ながら高度な機能を使わせるためのものだからな。
コーダーが自作テンプレートを使わなくてはならない状況になったら、何か設計が間違っていないか注意する必要がある。
まぁc++だとそういう状況もあるから辛いけど。
847デフォルトの名無しさん
2023/12/04(月) 12:20:54.27ID:EwsyjZMT >>837
>意図的に移動しない限りコピーはされない
これは微妙すぎる
「意図的」も「移動」も恣意的過ぎるから後出し無敵じゃんけんにしかならない
コピーされないこともあるがコピーされる可能性を前提として最初から考えておくべき
>意図的に移動しない限りコピーはされない
これは微妙すぎる
「意図的」も「移動」も恣意的過ぎるから後出し無敵じゃんけんにしかならない
コピーされないこともあるがコピーされる可能性を前提として最初から考えておくべき
848デフォルトの名無しさん
2023/12/04(月) 12:32:02.91ID:5v4NXSIj Rustのmonomorphization使った静的ポリモーフィズムと同じようなことしたければC++はテンプレート必須だから
ハイレベルのコードしか書かないアプリケーションプログラマーでも普通に使う必要があるでしょ
ハイレベルのコードしか書かないアプリケーションプログラマーでも普通に使う必要があるでしょ
849デフォルトの名無しさん
2023/12/04(月) 13:13:30.82ID:TyudsW/I850デフォルトの名無しさん
2023/12/04(月) 13:29:26.93ID:+6ZMbPCa 誰からも指摘されずにどんどん明後日の方向に向かって行っているのは見てる分には面白い
どうか第2の毛の壁と化しませんように
南無阿弥陀仏
どうか第2の毛の壁と化しませんように
南無阿弥陀仏
851デフォルトの名無しさん
2023/12/04(月) 13:38:09.73ID:EKSqu5ND >>849
スタックの取扱いを調整すればよろし。
コールスタックとデータスタックを分けてデータスタックをメモリブロックにするとか、大きいのはマネージドヒープに置くようにするとか。
だんだんヒープに近くなるからスタックのメリットは無くなるけど。
スタックの取扱いを調整すればよろし。
コールスタックとデータスタックを分けてデータスタックをメモリブロックにするとか、大きいのはマネージドヒープに置くようにするとか。
だんだんヒープに近くなるからスタックのメリットは無くなるけど。
852デフォルトの名無しさん
2023/12/04(月) 19:31:46.91ID:Vux7QnQs コードをよりコンパクトな短文にしようと追求したらテンプレートを使うようになるのはごく当たり前だよ
853デフォルトの名無しさん
2023/12/04(月) 19:42:38.90ID:BRBvRtzF >>835
モダンなC++もそれだぞ
class Hoge {
private:
std::shared_ptr<HogeInternal> hoge;
};
Hogeは常にスタックに割り当てる
実際のオブジェクトはHogeInternalで実装する
こうしておけばめちゃくちゃ安全になる
モダンなC++もそれだぞ
class Hoge {
private:
std::shared_ptr<HogeInternal> hoge;
};
Hogeは常にスタックに割り当てる
実際のオブジェクトはHogeInternalで実装する
こうしておけばめちゃくちゃ安全になる
854デフォルトの名無しさん
2023/12/04(月) 19:56:42.31ID:S3L8tG/0 なんで馬鹿はshared_ptr使いたがるんだろう
生ポでいいだろ
生ポでいいだろ
855デフォルトの名無しさん
2023/12/04(月) 20:13:20.11ID:ista3uD6 3/5/0則を知らないもっと馬鹿なやつがdelete用のデストラクタだけ実装して
事故が多発したからでは
事故が多発したからでは
856デフォルトの名無しさん
2023/12/04(月) 20:18:13.44ID:61k0lpUm857デフォルトの名無しさん
2023/12/04(月) 20:23:01.45ID:lyR6TlPF C++、雰囲気で書いたらすぐに壊れるくせに文法がどんどん増えていくのついていけねえわ
どんだけの勉強コストを一つの言語に払わせる気だよ
C++に人生捧げて他のこと何も出来ない無能だけが扱える言語となりつつある
どんだけの勉強コストを一つの言語に払わせる気だよ
C++に人生捧げて他のこと何も出来ない無能だけが扱える言語となりつつある
858デフォルトの名無しさん
2023/12/04(月) 20:27:01.58ID:648vwdUw 3/5/0則みたいな言語の欠陥に疑問を持たなくなったらもう終わり
859デフォルトの名無しさん
2023/12/04(月) 20:31:26.59ID:KZyfgQnR >>856
いだから置くんだよ
伝わってないみたいだから説明するとHogeに直接実装しないってことを言ってる
間接参照を一段挟むのよ
こうすることでコピーしまくっても問題ないヒープに確保されたオブジェクトができる
多少オーバーヘッドは生まれるがめちゃくちゃ安全性は上がるんよ
いだから置くんだよ
伝わってないみたいだから説明するとHogeに直接実装しないってことを言ってる
間接参照を一段挟むのよ
こうすることでコピーしまくっても問題ないヒープに確保されたオブジェクトができる
多少オーバーヘッドは生まれるがめちゃくちゃ安全性は上がるんよ
860デフォルトの名無しさん
2023/12/04(月) 20:32:20.03ID:oiJ5wZfJ そそ、難解な概念使いこなせるのはすごいけど、会社でマウントとれるだけ
世の中が求めてるのはそこじゃない。
世の中が求めてるのはそこじゃない。
861デフォルトの名無しさん
2023/12/04(月) 20:59:36.17ID:H6ggqIOp862デフォルトの名無しさん
2023/12/04(月) 21:10:50.41ID:61k0lpUm >>859
ヒープを使うというオーバーヘッドに加えて
参照カウントを使うというオーバーヘッドまで加わる
もちろん各々が不可欠な場合や両方が不可欠な場合もあるがその前提や吟味をせずに
まともなプログラマーがとる選択肢ではない
ヒープを使うというオーバーヘッドに加えて
参照カウントを使うというオーバーヘッドまで加わる
もちろん各々が不可欠な場合や両方が不可欠な場合もあるがその前提や吟味をせずに
まともなプログラマーがとる選択肢ではない
863デフォルトの名無しさん
2023/12/04(月) 21:14:53.25ID:KZyfgQnR864デフォルトの名無しさん
2023/12/04(月) 21:15:11.88ID:KZyfgQnR Hogeに実装しないことでコピー時のオーバーヘッドを防ぐ
さらに個別にコピーのことを考える必要性がなくなる
HogeInternalのコピーコストだけで済むため高速
shared_ptrは安全にコピー可能
データは共有できメモリ管理も自動で行われる
ヒープにとらなきゃいけなくて共有する可能性があるオブジェクトはこのパターンで実装してください
マジで何も考えなくていいから
さらに個別にコピーのことを考える必要性がなくなる
HogeInternalのコピーコストだけで済むため高速
shared_ptrは安全にコピー可能
データは共有できメモリ管理も自動で行われる
ヒープにとらなきゃいけなくて共有する可能性があるオブジェクトはこのパターンで実装してください
マジで何も考えなくていいから
865デフォルトの名無しさん
2023/12/04(月) 21:18:26.98ID:KZyfgQnR866デフォルトの名無しさん
2023/12/04(月) 21:25:29.71ID:H6ggqIOp >>863
Rustなら参照の共有はヒープを使わずスタックに置いてあるものに対しても安全に可能です
もちろん参照カウンタは必要ありません
ちなみにRustでC++のshared_ptrに相当するRc/Arcを必要とするのはもっと限定された状況で所有の共有が必要となる時のみです
Rustなら参照の共有はヒープを使わずスタックに置いてあるものに対しても安全に可能です
もちろん参照カウンタは必要ありません
ちなみにRustでC++のshared_ptrに相当するRc/Arcを必要とするのはもっと限定された状況で所有の共有が必要となる時のみです
867デフォルトの名無しさん
2023/12/04(月) 21:32:42.16ID:KZyfgQnR 新たな間接参照でラップすることであたかも普通の変数を作るかのようにヒープに値を置ける
このパターンめちゃくちゃ有用なんだがなぜあらゆる本で紹介されてないんだ?
このパターンめちゃくちゃ有用なんだがなぜあらゆる本で紹介されてないんだ?
868デフォルトの名無しさん
2023/12/04(月) 21:35:03.72ID:KZyfgQnR コロンブスの卵だわ
誰もが思いつきそうで思いつかなかった
誰もが思いつきそうで思いつかなかった
869デフォルトの名無しさん
2023/12/04(月) 21:39:30.12ID:KZyfgQnR >>866
まあその辺はさすがRust
まあその辺はさすがRust
870デフォルトの名無しさん
2023/12/04(月) 21:41:03.87ID:ista3uD6 本気でRustに寄せるならunique_ptrの方がいいな
コンパイラが助けてくれないから死にそうだけど
とりあえず循環参照だけは気を付けてくれ
>>867
目的はちょっと違うけどPimplってイディオムがある
コンパイラが助けてくれないから死にそうだけど
とりあえず循環参照だけは気を付けてくれ
>>867
目的はちょっと違うけどPimplってイディオムがある
871デフォルトの名無しさん
2023/12/04(月) 21:54:58.33ID:85Eugi9n 継承じゃ無くて、包含して各メソッドをバトン渡しすれば良くね?
872デフォルトの名無しさん
2023/12/04(月) 22:45:48.75ID:t1H4jiv7873デフォルトの名無しさん
2023/12/04(月) 23:15:56.57ID:o6jCQk0t874デフォルトの名無しさん
2023/12/04(月) 23:53:40.38ID:xybHpH7g >>867
間接参照でいいならわざわざクラスでラップしなくてもshared_ptrそのものでいいように思うんだが
shared_ptr<HogeInternal>で扱うより
ラップしたHogeで扱ったほうがいいメリットって何?
間接参照でいいならわざわざクラスでラップしなくてもshared_ptrそのものでいいように思うんだが
shared_ptr<HogeInternal>で扱うより
ラップしたHogeで扱ったほうがいいメリットって何?
875デフォルトの名無しさん
2023/12/05(火) 00:09:25.25ID:NEqb8LdH mallocでメモリ確保するの気持ちイィ🥴
876デフォルトの名無しさん
2023/12/05(火) 00:55:04.31ID:gtr9NjJz877デフォルトの名無しさん
2023/12/05(火) 00:58:42.15ID:gtr9NjJz >>872
ライブラリとして定期したい場合はshared_ptrで常に包むルールを強制するのも難しいとかかな
ライブラリとして定期したい場合はshared_ptrで常に包むルールを強制するのも難しいとかかな
878デフォルトの名無しさん
2023/12/05(火) 04:45:21.81ID:55rynLOP delegate指定子欲しいよな。
クラスor変数でまとめて指定できればなお良し。
クラスor変数でまとめて指定できればなお良し。
879デフォルトの名無しさん
2023/12/05(火) 05:43:53.62ID:DR8rm2oC それってRustのDeref?
880デフォルトの名無しさん
2023/12/05(火) 08:01:23.94ID:HiCWBikd std::byteを使ってみた結果
危険な計算ができるのがC/C++を使う理由という結論になった
危険な計算ができるのがC/C++を使う理由という結論になった
881デフォルトの名無しさん
2023/12/05(火) 08:50:09.72ID:iiJ5Z2H1 一人で何役やってるの?
882デフォルトの名無しさん
2023/12/05(火) 09:49:41.30ID:Akhn3hwz >>881
数えてみろよ
数えてみろよ
883デフォルトの名無しさん
2023/12/05(火) 10:22:23.63ID:0dgzhl7w >>877
Factoryメソッド経由でしかインスタンス化できないようにするとかして常にshared_ptrやunique_ptrで返すようにすればいいのでは?
Factoryメソッド経由でしかインスタンス化できないようにするとかして常にshared_ptrやunique_ptrで返すようにすればいいのでは?
884デフォルトの名無しさん
2023/12/05(火) 10:50:40.33ID:cS2yZHjP885デフォルトの名無しさん
2023/12/05(火) 11:56:35.63ID:pNurA5HJ Rustのdelegate!のようなことがC++ではまだ出来ないということか
汚いマクロ書けばできそうだけど綺麗に書くにはReflection待ちなのかな
汚いマクロ書けばできそうだけど綺麗に書くにはReflection待ちなのかな
886デフォルトの名無しさん
2023/12/05(火) 13:26:22.00ID:iiJ5Z2H1 >>882
こういうキチガイ対策にワッチョイ必要かもな
こういうキチガイ対策にワッチョイ必要かもな
887デフォルトの名無しさん
2023/12/05(火) 13:34:36.87ID:gtr9NjJz >>882
きっしょw
きっしょw
888デフォルトの名無しさん
2023/12/05(火) 14:18:15.60ID:DR8rm2oC889デフォルトの名無しさん
2023/12/05(火) 14:23:46.88ID:4UYj/sQ8 ワッチョイ立てたってところで結局また次世代言語スレと同じ流れになってRustスレに帰ってくるんだろ
890デフォルトの名無しさん
2023/12/05(火) 14:24:46.44ID:4UYj/sQ8 ×立てたってところで
○立てたところで
○立てたところで
891デフォルトの名無しさん
2023/12/05(火) 14:31:18.82ID:1iJo44eg Adaptorにだけ執拗にこだわるオジもアレだか
Adaptorも知らずにDerefを勧めるオジは論外
Adaptorも知らずにDerefを勧めるオジは論外
892デフォルトの名無しさん
2023/12/05(火) 14:58:30.60ID:gtr9NjJz893デフォルトの名無しさん
2023/12/05(火) 15:21:39.57ID:MywljXTh894デフォルトの名無しさん
2023/12/05(火) 15:51:48.29ID:Nvodex4n >>892
Rustでもそこは同じだと思うよ
ライブラリからBoxやArcが返されるものもあればそれらをラップした型が返されるものもある
シンプルなケースなら前者の方が圧倒的に使いやすい
内包する型のネストが深い場合などで便利メソッドを提供するなら後者ってイメージ
要はラップするだけの付加価値があるかどうか
Rustでもそこは同じだと思うよ
ライブラリからBoxやArcが返されるものもあればそれらをラップした型が返されるものもある
シンプルなケースなら前者の方が圧倒的に使いやすい
内包する型のネストが深い場合などで便利メソッドを提供するなら後者ってイメージ
要はラップするだけの付加価値があるかどうか
895デフォルトの名無しさん
2023/12/05(火) 15:52:25.13ID:QJai9ytv896デフォルトの名無しさん
2023/12/05(火) 16:00:15.02ID:8v2tQb+c >>854
いやいやいやいやw
いやいやいやいやw
897デフォルトの名無しさん
2023/12/05(火) 16:26:52.90ID:sq6EbAl6 リファレンスカウンタ方式のGCを基本にするんならGC言語でいいんじゃねってならない?
898デフォルトの名無しさん
2023/12/05(火) 16:45:36.42ID:iiJ5Z2H1 >>889
えー
えー
899デフォルトの名無しさん
2023/12/05(火) 16:47:29.78ID:MywljXTh ならない
リアルタイム系アプリでGCは困る
リアルタイム系アプリでGCは困る
900デフォルトの名無しさん
2023/12/05(火) 17:17:38.64ID:CoP1YuvK 循環参照で発生するリークを検出するか放置するか
あるいは循環参照を回避するか
それが問題だ
あるいは循環参照を回避するか
それが問題だ
901デフォルトの名無しさん
2023/12/05(火) 17:29:27.24ID:W0r7TCUZ902デフォルトの名無しさん
2023/12/05(火) 17:59:20.81ID:ugZXhcp8 手動メモリ管理のできないGC言語は高コストをかけて循環参照を回収せざるをえない
手動メモリ管理のできるC++/Rustは循環参照を避けることができて低コスト
その話とは別にshared_ptrやRc/Arcは参照カウンタによるコストがかかる
そのため複数所有者を使わざるを得ない場合に限定して用いる
手動メモリ管理のできるC++/Rustは循環参照を避けることができて低コスト
その話とは別にshared_ptrやRc/Arcは参照カウンタによるコストがかかる
そのため複数所有者を使わざるを得ない場合に限定して用いる
903デフォルトの名無しさん
2023/12/05(火) 18:13:07.15ID:Ppu4uIXE >>902
Weak Reference等を使って循環参照を手動で避ける方法が用意されてるかどうかは手動メモリ管理かどうかとは全く関係ないよ
Weak Reference等を使って循環参照を手動で避ける方法が用意されてるかどうかは手動メモリ管理かどうかとは全く関係ないよ
904デフォルトの名無しさん
2023/12/05(火) 18:43:14.63ID:gtr9NjJz >>894
気持ち的にはラップしたいかなあ
気持ち的にはラップしたいかなあ
905デフォルトの名無しさん
2023/12/05(火) 19:04:48.69ID:gtr9NjJz 全銀システム障害「詳細設計書見落とし」でオーバーフローの痛恨、再発防止なるか
https://xtech.nikkei.com/atcl/nxt/column/18/00001/08680/
Rustを使えばいいじゃない
https://xtech.nikkei.com/atcl/nxt/column/18/00001/08680/
Rustを使えばいいじゃない
906デフォルトの名無しさん
2023/12/05(火) 19:13:25.15ID:gquaqYbt IBMだったらJavaだったのに
907デフォルトの名無しさん
2023/12/05(火) 19:18:25.05ID:800y2Su3 積極的にC++を使いたがる人ってC++のどこに魅力を感じているんだ
908デフォルトの名無しさん
2023/12/05(火) 19:24:31.25ID:GrTJwyK/ Cとの互換性
909デフォルトの名無しさん
2023/12/05(火) 19:32:43.32ID:4rw/VL0P >>897
問題はGC言語は *常に* GC機能ありなところ。
問題はGC言語は *常に* GC機能ありなところ。
910デフォルトの名無しさん
2023/12/05(火) 19:40:36.09ID:iiJ5Z2H1 >>907
オブジェクト指向w
オブジェクト指向w
911デフォルトの名無しさん
2023/12/05(火) 20:04:51.38ID:3vhS3QGH リファレンスカウンター気にするくらい速度を求めるなら、RAIIすら嫌だとはならんのかな
mallocはプログラムの最初に一回呼ぶ以外は許されない
mallocはプログラムの最初に一回呼ぶ以外は許されない
912デフォルトの名無しさん
2023/12/05(火) 20:31:30.51ID:GM9Glwep913デフォルトの名無しさん
2023/12/05(火) 21:15:38.20ID:HiCWBikd やりたいことが出来るのが一番の理由
アンリミテッドが魅力
アンリミテッドが魅力
914デフォルトの名無しさん
2023/12/05(火) 21:36:14.43ID:9fH1d+k3 参照カウントて結構コストあったよな……と探したら解説見つけた。
yamasa.hatenablog.jp/entry/2021/01/29/012525
昔は並列処理と相性悪いと言われていたけど、今はどうかね?
yamasa.hatenablog.jp/entry/2021/01/29/012525
昔は並列処理と相性悪いと言われていたけど、今はどうかね?
915デフォルトの名無しさん
2023/12/05(火) 21:36:19.50ID:ckmQfDX3 ++C Unsafety Unlimited C++
916デフォルトの名無しさん
2023/12/05(火) 21:43:08.45ID:tZxAn7Rl917デフォルトの名無しさん
2023/12/05(火) 21:59:57.96ID:puqODfvy918デフォルトの名無しさん
2023/12/05(火) 22:10:46.45ID:vNAfxFS3 >>911
RAII自体はコストゼロ
RAIIで解放されるスタック上の値の型にデストラクタがある時にその実行コストがかかる
そしてヒープ領域を所有していればヒープ解放コストがかかる
何度もヒープ確保解放を繰り返すよりはなるべく最初に確保するのはもちろん正しい
スタック領域で済ませられるならさらに望ましい
RAII自体はコストゼロ
RAIIで解放されるスタック上の値の型にデストラクタがある時にその実行コストがかかる
そしてヒープ領域を所有していればヒープ解放コストがかかる
何度もヒープ確保解放を繰り返すよりはなるべく最初に確保するのはもちろん正しい
スタック領域で済ませられるならさらに望ましい
919デフォルトの名無しさん
2023/12/05(火) 22:57:00.41ID:iiJ5Z2H1 全部独り言だったりしてw
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- まみちゃん
- ちっしゃーねーな。俺が習近平のアナルに武力侵攻してきてやるよ
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- Doraemon's Solus
