「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
■ このスレッドは過去ログ倉庫に格納されています
2023/10/28(土) 13:45:00.38ID:fh9BWjjr
724デフォルトの名無しさん
2023/11/27(月) 13:40:29.77ID:y1vsdTcE >>723
pythonじゃ使えないぞ
pythonじゃ使えないぞ
725デフォルトの名無しさん
2023/11/27(月) 14:04:14.09ID:l+s92lQ4 遅くともcygwinとかで、なんちゃってforkは実装されてるけど、コレジャナイ感は付きまとうんだよな(個人の感想です
726デフォルトの名無しさん
2023/11/27(月) 14:10:54.29ID:O2rw1r7K execなしのforkなんて時代錯誤もいいところ
いまだに使ってるやついんのか?
さっさと引退するのが世のために
いまだに使ってるやついんのか?
さっさと引退するのが世のために
727デフォルトの名無しさん
2023/11/27(月) 14:17:35.21ID:zZXu+dmb RubyもNotImplementedError
Perlはエミュレーションしてるがすでに非推奨レベル
Perlはエミュレーションしてるがすでに非推奨レベル
728デフォルトの名無しさん
2023/11/27(月) 14:21:41.56ID:+D1aTXqp こんどはforkを取り囲んでフェルマータするターンか
729デフォルトの名無しさん
2023/11/27(月) 15:12:24.83ID:qB4qrVrI forkは同じページを(書き換えるまで)共有できるのが売りだと思うけどwin版は最初からコピーするのか
そんな実装でfork爆弾作れるの?
そんな実装でfork爆弾作れるの?
730デフォルトの名無しさん
2023/11/27(月) 15:12:35.28ID:l+s92lQ4 ま、雑談だからな おもしろければどうでもおっけー
731デフォルトの名無しさん
2023/11/27(月) 15:37:56.10ID:+D1aTXqp オジジジジジw
https://medaka.5ch.net/test/read.cgi/prog/1619943288/667
667: 仕様書無しさん 2023/11/24(金) 01:57:39.09
>>665
C++のスマポは機能が弱すぎてできないことが多すぎる
例えばヒープ領域しか指せないから
(L1キャッシュ効果と領域確保解放コスト無しで高速な)スタック領域の活用がスマポではできない
https://medaka.5ch.net/test/read.cgi/prog/1619943288/667
667: 仕様書無しさん 2023/11/24(金) 01:57:39.09
>>665
C++のスマポは機能が弱すぎてできないことが多すぎる
例えばヒープ領域しか指せないから
(L1キャッシュ効果と領域確保解放コスト無しで高速な)スタック領域の活用がスマポではできない
732デフォルトの名無しさん
2023/11/27(月) 15:50:29.33ID:UqO8a829 スタック領域をスマートポインタで指す必要はあるの?
733デフォルトの名無しさん
2023/11/27(月) 15:57:04.75ID:l+s92lQ4 先々で、うっかりfreeするような書き方してしまったときにコンパイルエラーで止まってほしい
実体としては生ポだけど、チェック用の何かにラップされてる…そういうスマポ
実体としては生ポだけど、チェック用の何かにラップされてる…そういうスマポ
734デフォルトの名無しさん
2023/11/27(月) 17:16:07.46ID:FscsMJtl いつものように誰かが書いてた受け売りで中身は理解してないんだろ
少し突っ込まれたら表面的なことを繰り返す壊れたレコードになる
少し突っ込まれたら表面的なことを繰り返す壊れたレコードになる
735デフォルトの名無しさん
2023/11/27(月) 17:19:29.35ID:ZLucLoet www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf
736デフォルトの名無しさん
2023/11/27(月) 19:00:17.85ID:UqO8a829 >>733
実装すれば良いのでは?
実装すれば良いのでは?
737デフォルトの名無しさん
2023/11/27(月) 19:12:23.49ID:MloD+hDC >>731
スタック領域は勝手に解放されますが
スタック領域は勝手に解放されますが
738デフォルトの名無しさん
2023/11/27(月) 19:23:48.42ID:VTBvXWTh Rustはヒープ領域だけでなくスタック領域にまで所有権やムーブや参照の概念を拡張したことから
C++よりスタック領域の活用で効率的になってる話ではないか
C++よりスタック領域の活用で効率的になってる話ではないか
739デフォルトの名無しさん
2023/11/27(月) 19:41:50.12ID:4LX/kS4x740デフォルトの名無しさん
2023/11/27(月) 19:55:41.13ID:XLFtaca7741デフォルトの名無しさん
2023/11/27(月) 19:57:13.46ID:ceTrdy2T C++は書くのがしんどい
Rustもしんどいけど、生成AIに書かせたコードもコンパイルとテスト通ればメモリリークの心配なく使えるので気持ちは楽
Rustもしんどいけど、生成AIに書かせたコードもコンパイルとテスト通ればメモリリークの心配なく使えるので気持ちは楽
742デフォルトの名無しさん
2023/11/28(火) 03:07:58.34ID:iuwbNdCf Boxってヒープのメモリどうやって管理してんの?スコープ?
743デフォルトの名無しさん
2023/11/28(火) 06:19:45.83ID:fb4KLmhh744デフォルトの名無しさん
2023/11/28(火) 07:21:41.08ID:p7m/jx+j >>742
unique ptrみたいな感じじゃない?
unique ptrみたいな感じじゃない?
745デフォルトの名無しさん
2023/11/28(火) 07:38:03.63ID:OE19BKGq746デフォルトの名無しさん
2023/11/28(火) 08:32:49.65ID:t7+ip2Xg747デフォルトの名無しさん
2023/11/28(火) 08:34:53.09ID:4GFkN+H+ スタック使うってカーネルで使えるん?
748デフォルトの名無しさん
2023/11/28(火) 09:04:02.54ID:uB2ZO1/C Rustの所有権チェックって、(コンパイル時にコストを寄せてるから)実行時はゼロコストじゃないん
へたくそに書いたら効率が下がる(たいてい実装効率が上がった犠牲)のは、C/C++も同じ
へたくそに書いたら効率が下がる(たいてい実装効率が上がった犠牲)のは、C/C++も同じ
749デフォルトの名無しさん
2023/11/28(火) 10:10:56.04ID:pC50QOa+ 技術的選択というのは最終的には必ずトレードオフになるので
ある選択のプラス面だけしか見ない/考えない/認識できないやつは何やらせてもダメ
ある選択のプラス面だけしか見ない/考えない/認識できないやつは何やらせてもダメ
750デフォルトの名無しさん
2023/11/28(火) 12:14:38.37ID:0HFLSmnD 新人やお前らの前任の調子いいだけの奴がコンパイル通したコードで、rustとc++のどっちが安心できるかってことよ。
751デフォルトの名無しさん
2023/11/28(火) 12:37:00.84ID:zgX3htu8 c++に自動変数専用参照とかあるといいんだけどなぁ。
自動変数にあるスマートポインタは参照渡ししたい。
自動変数にあるスマートポインタは参照渡ししたい。
752デフォルトの名無しさん
2023/11/28(火) 14:34:16.09ID:5v5wYsOr 今更だけどNonNullクソ便利だな
753デフォルトの名無しさん
2023/11/28(火) 14:49:32.02ID:tbacT9e+ >>751
イマイチ分からんのだがコードで書ける?
イマイチ分からんのだがコードで書ける?
754デフォルトの名無しさん
2023/11/28(火) 15:14:43.92ID:zjrE05Ar >>632
と暇人が申しております
と暇人が申しております
755デフォルトの名無しさん
2023/11/28(火) 15:30:47.32ID:PhTWlmVC >>753
void foo(shared_ptr<T>&&& p)
でshared_ptr&&&が自動変数専用参照だとすると、
void main() {
shared_ptr<T> ptr;
foo(ptr); //スタックにあると合法
shared_ptr<shared_ptr<T>> pptr;
foo(*pptr); //ヒープにあるとエラー
shared_ptr<T>&&& pp = ptr;
foo(*pptr); //次のスタックフレームに渡すのも合法
}
void foo(shared_ptr<T>&&& p)
でshared_ptr&&&が自動変数専用参照だとすると、
void main() {
shared_ptr<T> ptr;
foo(ptr); //スタックにあると合法
shared_ptr<shared_ptr<T>> pptr;
foo(*pptr); //ヒープにあるとエラー
shared_ptr<T>&&& pp = ptr;
foo(*pptr); //次のスタックフレームに渡すのも合法
}
756デフォルトの名無しさん
2023/11/28(火) 15:32:05.10ID:PhTWlmVC757デフォルトの名無しさん
2023/11/28(火) 20:15:20.15ID:QlCOA+Xa メモリがスタックにあるかヒープにあるかはリンカのアドレスマップと連携すればわかる
つまり欲しいなら自作すればいいのでは
つまり欲しいなら自作すればいいのでは
758デフォルトの名無しさん
2023/11/28(火) 21:08:43.42ID:zgX3htu8759デフォルトの名無しさん
2023/11/28(火) 21:40:34.18ID:2tolr/zk さっぱり意味が分からんのだけど
もしかしてshared_ptr&&&なる存在に参照されたshared_ptr<T>だけはスタック上にTを保持する何者かに化けろと要求している??
もしかしてshared_ptr&&&なる存在に参照されたshared_ptr<T>だけはスタック上にTを保持する何者かに化けろと要求している??
760デフォルトの名無しさん
2023/11/28(火) 21:52:40.46ID:5v5wYsOr 何がやりたいのかさっぱりわからん
761デフォルトの名無しさん
2023/11/28(火) 23:17:43.17ID:Y2Vu8rdK クラスは必ずnewしないといけないと思いこんでいた昔のワイみたいな勘違いしてそう
762デフォルトの名無しさん
2023/11/28(火) 23:30:04.45ID:p7m/jx+j763デフォルトの名無しさん
2023/11/28(火) 23:38:15.09ID:2tolr/zk >>762
自動変数にあるshared_ptrは左辺値だが
自動変数にあるshared_ptrは左辺値だが
764デフォルトの名無しさん
2023/11/28(火) 23:41:06.97ID:2tolr/zk そもそも参照に対して行えるのは代入ではなく初期化だし
765デフォルトの名無しさん
2023/11/28(火) 23:43:48.38ID:QlCOA+Xa 無知ばっかりでここまで話が通じないと思わなんだ
スタックやヒープの開始アドレスがどこから始まるとか気にしたことないの?
rustの悪いとこ透けて見えたわ
スタックやヒープの開始アドレスがどこから始まるとか気にしたことないの?
rustの悪いとこ透けて見えたわ
766デフォルトの名無しさん
2023/11/28(火) 23:55:41.04ID:xnaKz8pj Rustならそんな複雑なことする必要もなく
Rustの方が優れている
ライフタイムさえ満たせば参照先がヒープかスタックか関係なく同一コードでその参照を安全に返す関数などを書くことができる
Rustの方が優れている
ライフタイムさえ満たせば参照先がヒープかスタックか関係なく同一コードでその参照を安全に返す関数などを書くことができる
767デフォルトの名無しさん
2023/11/29(水) 00:18:45.75ID:UMPQWy8o 言い訳ばかり達者で見苦しいスレだこと
768デフォルトの名無しさん
2023/11/29(水) 01:18:06.77ID:w45cg+MW769デフォルトの名無しさん
2023/11/29(水) 02:07:48.15ID:0GsI2ATG どっかで身に覚えがある流れだなと思った
たぶん要件定義の時点でなんかおかしいよ
https://mevius.5ch.net/test/read.cgi/tech/1542002113/504-523
たぶん要件定義の時点でなんかおかしいよ
https://mevius.5ch.net/test/read.cgi/tech/1542002113/504-523
770デフォルトの名無しさん
2023/11/29(水) 03:16:09.69ID:0jw/VZcC いまいちメリットがわからない
ヒープのオブジェクトなら渡す前に呼び出し側でチェックすべきなのではないのか
ヒープのオブジェクトなら渡す前に呼び出し側でチェックすべきなのではないのか
771デフォルトの名無しさん
2023/11/29(水) 03:26:29.12ID:nEUPDdEn バカ強制矯正共生強請言語Rust
772デフォルトの名無しさん
2023/11/29(水) 03:32:20.62ID:I6OxsG4L773デフォルトの名無しさん
2023/11/29(水) 06:13:09.34ID:n75oaT1g Rust推してる香具師はスタックとヒープの違いも判ってないのか
774デフォルトの名無しさん
2023/11/29(水) 06:15:55.34ID:n75oaT1g >>768 ←これはひどい
775デフォルトの名無しさん
2023/11/29(水) 07:33:14.16ID:Oshr4ESo 関数の定義で、shared ptr の参照を安全に受け付ける仮引数の定義方法とかあるの?
効率化のためにインスタンスのコピーは無しの方向で。
効率化のためにインスタンスのコピーは無しの方向で。
776デフォルトの名無しさん
2023/11/29(水) 08:59:38.65ID:w45cg+MW >>773
スタックの頭知りたかったらコマンドライン引数のアドレス取れば?ヒープの頭知りたかったら最初にsbrk(0)すれば?
スタックの頭知りたかったらコマンドライン引数のアドレス取れば?ヒープの頭知りたかったら最初にsbrk(0)すれば?
777デフォルトの名無しさん
2023/11/29(水) 09:22:10.12ID:cEfAMy5j >>765
それでコンパイル時にエラーにできるのかい?
それでコンパイル時にエラーにできるのかい?
778デフォルトの名無しさん
2023/11/29(水) 09:24:24.67ID:cEfAMy5j779デフォルトの名無しさん
2023/11/29(水) 09:29:15.22ID:w45cg+MW780デフォルトの名無しさん
2023/11/29(水) 10:51:01.40ID:I6OxsG4L rustはヒープとスタックを言語的に区別してライフタイムをトラックしてるだろ
それが欲しいならrust使えで終わり
c++では汎用的には無理
そういう要望は昔からある
それが欲しいならrust使えで終わり
c++では汎用的には無理
そういう要望は昔からある
781デフォルトの名無しさん
2023/11/29(水) 11:14:58.09ID:wOoUvEHR >>778
そりゃ、関数を実行している間は参照先が無効にならないことですな。
そりゃ、関数を実行している間は参照先が無効にならないことですな。
782デフォルトの名無しさん
2023/11/29(水) 11:26:21.99ID:JCtBk62y そもそもスタックに参照カウンタ必要か?
関数に対するスタックはプロセスに対するグローバル領域とライフタイムの考え方は同じ。
関数を抜けるまではスタックは有効だし、その関数以降に呼んだ関数が呼出元の関数を抜けた後も握り続ける状況は発生しえない
(別スレッドに共有したりヒープにCopy/Moveしない限りは)からshared_ptrにする必要がないと思うが。
つまり、
T x; // スタック
shared_ptr<T> x; // ヒープ
で型が異なるから、強引にCopy/Moveしなけりゃコンパイルエラーで検出できるし問題は起きない。
関数に対するスタックはプロセスに対するグローバル領域とライフタイムの考え方は同じ。
関数を抜けるまではスタックは有効だし、その関数以降に呼んだ関数が呼出元の関数を抜けた後も握り続ける状況は発生しえない
(別スレッドに共有したりヒープにCopy/Moveしない限りは)からshared_ptrにする必要がないと思うが。
つまり、
T x; // スタック
shared_ptr<T> x; // ヒープ
で型が異なるから、強引にCopy/Moveしなけりゃコンパイルエラーで検出できるし問題は起きない。
783デフォルトの名無しさん
2023/11/29(水) 11:39:18.60ID:I6OxsG4L >>755 はいまいちよくわからんが、ポインタを受け取る関数側でスタックかヒープを判別したいんだろ
かつてそれを解決するため手法としてregion based memory managementが開発された
rustのライフタイム管理の源流
かつてそれを解決するため手法としてregion based memory managementが開発された
rustのライフタイム管理の源流
784デフォルトの名無しさん
2023/11/29(水) 11:46:11.39ID:wioHB1Dg785デフォルトの名無しさん
2023/11/29(水) 12:57:35.03ID:/iUfnYRG 例が微妙だな。直しておくか。
void foo(shared_ptr<T>&&& p)
でshared_ptr&&&が自動変数専用参照だとすると、
shared_ptr<T> bar()
void main() {
shared_ptr<T> ptr;
foo(ptr); //自動変数だと合法
foo(bar()); //自動変数でないとエラー
}
void foo(shared_ptr<T>&&& p) {
baz(p); //次のスタックフレームに渡すのも合法
}
void foo(shared_ptr<T>&&& p)
でshared_ptr&&&が自動変数専用参照だとすると、
shared_ptr<T> bar()
void main() {
shared_ptr<T> ptr;
foo(ptr); //自動変数だと合法
foo(bar()); //自動変数でないとエラー
}
void foo(shared_ptr<T>&&& p) {
baz(p); //次のスタックフレームに渡すのも合法
}
786デフォルトの名無しさん
2023/11/29(水) 13:05:45.44ID:I6OxsG4L787デフォルトの名無しさん
2023/11/29(水) 13:32:40.14ID:SVBOdyHv void foo(T& p){}
void foo(shared_ptr<T>& p){static_assert}
void foo(shared_ptr<T>& p){static_assert}
788デフォルトの名無しさん
2023/11/29(水) 13:33:08.54ID:pBsavzeJ789デフォルトの名無しさん
2023/11/29(水) 13:37:19.41ID:qKmTtpoR >>773
スタックとヒープの違いが分かってなくても使えるなんて、なんて素晴らしい言語なんだ
スタックとヒープの違いが分かってなくても使えるなんて、なんて素晴らしい言語なんだ
790デフォルトの名無しさん
2023/11/29(水) 13:52:43.41ID:pBsavzeJ もういいよ
議論するレベルになってない
引っ掻き回したいだけだろ
この話題終わり
ゴミだから
議論するレベルになってない
引っ掻き回したいだけだろ
この話題終わり
ゴミだから
791デフォルトの名無しさん
2023/11/29(水) 14:48:01.22ID:wOoUvEHR792デフォルトの名無しさん
2023/11/29(水) 15:04:52.17ID:0jw/VZcC はい終わり終わり
793デフォルトの名無しさん
2023/11/29(水) 15:22:50.48ID:I6OxsG4L794デフォルトの名無しさん
2023/11/29(水) 15:29:56.33ID:0GsI2ATG 「lvalueよりさらに限定された値カテゴリを作って、それだけを指せる参照を導入したい」という欲求
もしかして: ライフタイム
もしかして: ライフタイム
795デフォルトの名無しさん
2023/11/29(水) 15:56:42.98ID:8C/SUjDF ヒープを排除したいのは参照してる間にfree/deleteされるのを気にしてるからかな
Rustだとライフタイムというよりborrow checkで解決してる問題
Rustだとライフタイムというよりborrow checkで解決してる問題
796デフォルトの名無しさん
2023/11/29(水) 16:40:54.30ID:wioHB1Dg >>795
そこでborrow checkerが具体的にしていることがライフタイムの妥当性(やミュータビリティの妥当性など)
そこでborrow checkerが具体的にしていることがライフタイムの妥当性(やミュータビリティの妥当性など)
797デフォルトの名無しさん
2023/11/29(水) 18:22:15.98ID:g4z1paMZ >>781
ポイントしてる先がどうなってるかは関係なくてshared_ptr自体がスタック上で生きていれば「shared_ptrへの参照」は無効にならないということを「安全」だと言ってるという理解でいい?
ポイントしてる先がどうなってるかは関係なくてshared_ptr自体がスタック上で生きていれば「shared_ptrへの参照」は無効にならないということを「安全」だと言ってるという理解でいい?
798デフォルトの名無しさん
2023/11/29(水) 20:22:08.97ID:/iUfnYRG >795 >797
そういう話。
RustだとRc<T>の参照をbollow checkerで(たしか)安全に管理できたけど、c++はshared ptr の参照なんて気にもしないで破棄するから、せめて自動変数に置くことを強制しできればちょっとだけ安全に効率化できるのにな、ぐらいの話。
そういう話。
RustだとRc<T>の参照をbollow checkerで(たしか)安全に管理できたけど、c++はshared ptr の参照なんて気にもしないで破棄するから、せめて自動変数に置くことを強制しできればちょっとだけ安全に効率化できるのにな、ぐらいの話。
799デフォルトの名無しさん
2023/11/29(水) 20:54:47.61ID:8C/SUjDF RustのRcもC++のshared_ptrも参照でやり取りするより
Rc本体をclone(C++なら値渡しでコピー)した方が使いやすいと思う
中身じゃなく本体を参照渡しするなら参照カウンタ増えないしRc(shared_ptr)使う意味がなさそう
shared_ptrは元データが破棄されてもコピーが生き残ることに意味があるわけで
この例でshared_ptrを使われると話がややこしくなる
Rc本体をclone(C++なら値渡しでコピー)した方が使いやすいと思う
中身じゃなく本体を参照渡しするなら参照カウンタ増えないしRc(shared_ptr)使う意味がなさそう
shared_ptrは元データが破棄されてもコピーが生き残ることに意味があるわけで
この例でshared_ptrを使われると話がややこしくなる
800デフォルトの名無しさん
2023/11/29(水) 22:26:34.34ID:gjeaJk+d >>798
なるほどそういうことならAST的なものに対してカスタムルールを定義できる静的解析ツールみたいなもので頑張ればチェックはできそう
ただポイント先が途中で変化しても安全と言えるかどうか微妙
Arc/Rcはownerが複数いる場合はポイント先が変更されないことも保証されてる
なるほどそういうことならAST的なものに対してカスタムルールを定義できる静的解析ツールみたいなもので頑張ればチェックはできそう
ただポイント先が途中で変化しても安全と言えるかどうか微妙
Arc/Rcはownerが複数いる場合はポイント先が変更されないことも保証されてる
801デフォルトの名無しさん
2023/11/30(木) 12:27:38.75ID:MXha9GzH ライフタイムチェックが今のRustと同じレベルになるのは早くてもC++32以降なので過度に期待せず気長にお待ち下さい。
802デフォルトの名無しさん
2023/11/30(木) 13:55:26.66ID:7CM8sx7O803デフォルトの名無しさん
2023/11/30(木) 13:57:58.44ID:7CM8sx7O804デフォルトの名無しさん
2023/11/30(木) 14:51:08.28ID:JOtYuMwa 的はずれなことを書いてる自覚がないとはな
複オジ(>>784)のほうが多少自覚してるだけマシかもしれんぞ
複オジ(>>784)のほうが多少自覚してるだけマシかもしれんぞ
805デフォルトの名無しさん
2023/11/30(木) 15:21:08.01ID:D7FKv4Y4806デフォルトの名無しさん
2023/11/30(木) 16:35:34.05ID:5k4SwxyG いや服おじは論外
807デフォルトの名無しさん
2023/12/01(金) 20:56:33.56ID:2VykkaiV808デフォルトの名無しさん
2023/12/02(土) 00:20:14.03ID:qhhzthLD C++はもうテンプレートで道を一度踏み外してる外道だから今更だよ
809デフォルトの名無しさん
2023/12/02(土) 21:13:09.29ID:Lt6EdYBh Javaからプログラム始めたからC++の静的ポリモーフィズムやるconceptの制約がわかりにくすぎて使いこなせん
C++20のconceptを使いこなせてる猛者さん、果たしてスレにおるのかね
C++20のconceptを使いこなせてる猛者さん、果たしてスレにおるのかね
810デフォルトの名無しさん
2023/12/02(土) 21:29:52.21ID:ojltmATj C++で継承をやろうとするのが間違いなんだよね😇
テンプレートはゴミ!
ゴミなんです!
テンプレートはゴミ!
ゴミなんです!
811デフォルトの名無しさん
2023/12/02(土) 22:01:16.75ID:PDmr7t8h C++使ってるけど継承もテンプレートも使ってないな
812デフォルトの名無しさん
2023/12/03(日) 11:30:00.35ID:QTewqrs7 つ
ま
ん
ね
ま
ん
ね
813デフォルトの名無しさん
2023/12/03(日) 13:55:04.97ID:vkjAQods 最近新プロジェクトでC++書かなきゃいけなくてRust使いたがったが
外部システムやライブラリとの絡みで仕方なくC++を使うことになったのだけど
std::shared_ptr
std::weak_ptr
std::move
ムーブ代入演算子
ムーブコンストラクタ
enum class
constexpr(主に設定値のテーブル初期化などに使う)
新しい要素だとマジでこれだけしか使ってなかったよ
継承なしテンプレートなし
外部ライブラリとしてonetbbとminimalloc使ってるだけ
これだけでもそこそこモダンなプログラミングができる
あと足りないのはライフタイムだけかな
C++にそれがきたらRustはいらないけど果たしていつになるのか
外部システムやライブラリとの絡みで仕方なくC++を使うことになったのだけど
std::shared_ptr
std::weak_ptr
std::move
ムーブ代入演算子
ムーブコンストラクタ
enum class
constexpr(主に設定値のテーブル初期化などに使う)
新しい要素だとマジでこれだけしか使ってなかったよ
継承なしテンプレートなし
外部ライブラリとしてonetbbとminimalloc使ってるだけ
これだけでもそこそこモダンなプログラミングができる
あと足りないのはライフタイムだけかな
C++にそれがきたらRustはいらないけど果たしていつになるのか
814デフォルトの名無しさん
2023/12/03(日) 14:26:32.44ID:KItL/kTG shared_ptr使ったならテンプレートなしは言いすぎかな
自作テンプレートなしってところか
テンプレートはライブラリとか裏方向けの要素だからアプリ開発ではあまり使わないかも
自作テンプレートなしってところか
テンプレートはライブラリとか裏方向けの要素だからアプリ開発ではあまり使わないかも
815デフォルトの名無しさん
2023/12/03(日) 14:31:19.88ID:Xy0LqFPl は?
816デフォルトの名無しさん
2023/12/03(日) 16:51:09.16ID:455UU+Ox >>813
STLって何の略だか知ってる?
STLって何の略だか知ってる?
817デフォルトの名無しさん
2023/12/03(日) 17:00:48.99ID:qGjodFlK >>815
は?
は?
818デフォルトの名無しさん
2023/12/03(日) 17:02:40.23ID:POEAPkcj 自作テンプレートって意味だろ
文脈理解できないんだな
全部書かなきゃ理解できないタイプ?
文脈理解できないんだな
全部書かなきゃ理解できないタイプ?
819デフォルトの名無しさん
2023/12/03(日) 17:43:27.43ID:wvh0Q/xj >>818
はww
はww
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日経ったらチャラになってくれたほうが気は楽
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で ★2 [ぐれ★]
- 台湾政党が高市首相「存立危機事態」発言に感謝の書簡「我々の心を強く奮い立たせるものでした」 [834922174]
- 【悲報】中国を煽り運転に例えたネトウヨさん、完全に論破されてしまう [268718286]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 高市「金正恩総書記と会談したい」 国交ある国ですらまともに外交出来ないのに北朝鮮相手に何が出来るのこいつ [878970802]
- 玉川徹「日中の対立が深まるとそれで利益を得る、ビジネスにしている人たちがいる」 有識者「おまえやんw」 [279254606]
- 【正論】有識者「高市早苗に合理的配慮をしなかった野党が悪い」 [175344491]
