X

結局C++とRustってどっちが良いの? 2traits

■ このスレッドは過去ログ倉庫に格納されています
2023/04/02(日) 00:42:57.53ID:W9/nq+tL
「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」

っていうスレ。

前スレ: 結局C++とRustってどっちが良いの?
https://mevius.5ch.net/test/read.cgi/tech/1677286186/
2023/04/02(日) 00:51:09.64ID:LXNgvG55
世界的にインフラはRust製になりつつある

https://japan.zdnet.com/article/35183866/
Amazon Web Services(AWS)は、同社のエンジニアたちがプログラミング言語「Rust」を
使っている大きな理由として、エネルギー効率の高さを挙げる。
AWSは早くからRustを採用し、Rust Foundationの創設にも携わった。
現在もRustの普及に熱心に取り組んでいる。

AWSのソフトウェアエンジニアで、Rustの普及に取り組む
Shane Miller氏と主任エンジニアのCarl Lerche氏の投稿によれば、
Rustはメモリー安全性を高め、セキュリティ関連の不具合を減らす役に立つだけでなく、
PythonやJavaよりもはるかに「エネルギー効率に優れている」という。
Amazonは、2025年までにデータセンターの100%を再生エネルギーでまかなうという目標を掲げ、
データセンターの環境負荷の軽減に取り組んでいる。
Rustの採用はその一翼を担うという。

Rustで構築されたAWSサービスの例としては、
コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
「Amazon Simple Storage Service(S3)」「Amazon Elastic Compute Cloud(EC2)」、
コンテンツ配信ネットワーク「Amazon CloudFront」、
LinuxベースのコンテナーOS「Bottlerocket」がある。

「CやRustが他の言語よりもエネルギー効率に優れていることに驚きはない。
衝撃的なのは、その違いの大きさだ。CとRustを広範に採用すれば、
控えめに見積もってもコンピュートに使用されるエネルギーの量を50%削減できる可能性がある」と
Miller氏は述べ、その根拠として、C、GoogleのGo、Lua、Python、Ruby、Fortranなどをはじめとする
複数の言語のエネルギー効率を相対的に示した研究結果を紹介している。
2023/04/02(日) 01:05:56.12ID:fga+vqS0
なぜ皆がC++を捨ててRustへ移行していくのか以前は不思議だったが
Rustも書くようになってようやく理由がわかった
色んな面で快適になっている
2023/04/02(日) 02:18:47.84ID:6FtsW5Qy
Rustは高機能に洗練されていて意外にコンパクトだね
C++では同じことを出来ないも多くて何とか出来ることもC++17やC++20の知識が必要で普及していなかったり
どちらにも新規な人ならRustの方が学習量が少なくて済むね
2023/04/02(日) 02:37:50.83ID:Xkdfgrgv
=== 複製おじさん(通称複おじ)について ===
Rustスレを中心に活動し、2023年4月現在で1年以上ム板に住み着くRustacean。無自覚な荒らし。

Rustスレでは、基本的に他住民の意見を聞いて糧とすることなく、自らのコードが最善であると、ID変更自演を交えいつまでも主張し続ける。
同スレで「所有権が複製される」という違和感のある表現を、「違和感がある」とする他住民の意見をすべて否定してしつこく擁護し続けたことから、「複製おじさん」というあだ名が付けられた。
それ以外のム板スレでは、基本的に他住民の意見を聞いて糧とすることなく、Rustこそが最善であると、ID変更自演を交えいつまでも主張し続ける。
その基本戦術は、「GC言語は遅い」の一声でC/C++/Rust以外の言語を否定し、残ったC/C++は安全ではないので、Rustが最善であるとするもの。

しかしながら、Rust以外の言語に関しては、正当な批判を展開するのに十分な知識を持っているとは言いがたい。
本スレPart1では、C++の問題点を指摘しようとして多数の誤り・知識不足を露呈することとなった。特にしつこく食い下がったのが「動的ディスパッチ」に関する誤解である。
https://mevius.5ch.net/test/read.cgi/tech/1677286186/786-799(ID:Evbafc70とID:RiLc+pIfが複製おじさんであると考えられている)
要約すると、通常「条件分岐」と呼ばれるものを「動的ディスパッチ」と呼ぶのが正しいと主張し続けたのである。
常識的にはあり得ない誤解だが、提示されたC++のコードが自らの主張(C++にはパターンマッチが無い)に不都合であると感じたためか、C++のコードを正しく読み解くことができないにもかかわらず脊髄反射的に否定してしまい、その根拠として誤った論理をこじつけてしまったものと思われる。

ちなみにこの後、同種の誤解を持って書き込むID:wHEiYRW7(これはID使用歴的に複製おじさんとは考えにくい)に対して、正しい理解に基づく指摘を行う単発IDが複数出現するが、この中にも複製おじさんが多数含まれていると考えられている。
このように自分の誤りを認識した場合、それを認める書き込みは決して行わず、別人の振りをして最初から正しく理解していた体を装うのも複製おじさんの特徴である。
2023/04/02(日) 02:38:05.99ID:Xkdfgrgv
テンプレに入れといていいよ
2023/04/02(日) 02:43:43.18ID:zOLTjxu5
C++は確実に滅びる
各種安全性が保証されているRust製と穴を多発してきたC++製
企業や国自治体がどちらを選ぶか明らか
いずれ要件にも入るだろう
2023/04/02(日) 03:06:04.77ID:WdMf4Ye5
>>5
おいおい!処理を切り替えること一般をディスパッチ
その実装をディスパッチャと言うんだよ
ifやmatchなどの条件分岐はやっていることはディスパッチャだよ
実行時にやっているから動的ディスパッチ
仮想関数テーブルを介した関数の呼び出しの切り替えも動的ディスパッチ
一方で関数のオーバーロードによる切り替えは
コンパイル時に決まるので静的ディスパッチと言う
2023/04/02(日) 03:40:43.33ID:IfuIFZxt
GoogleとMicrosoftで脆弱性の70%がメモリー管理バグに起因のためRust採用
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/

Rustは、プログラムに必要なメモリーの確保や解放に関連するバグが生じない「メモリー安全」が保証されたプログラミング言語である。
それに対してこれまでのOS開発に使われてきたC/C++は「大規模な開発においてメモリー安全なコードを記述することがほぼ不可能」
(Microsoftのブログ「We need a safer systems programming language」出典)だという。

GoogleによればAndroidに存在した深刻なセキュリティー脆弱性の70%近くがメモリー安全に関するバグに起因するという。
同様にMicrosoftも、同社製品に存在したセキュリティー脆弱性の70%がメモリー安全に関するバグに起因すると述べている。
C/C++を使う限りセキュリティー脆弱性を根絶するのは不可能と考えて、Rustを採用するに至ったというわけだ。
2023/04/02(日) 06:32:11.07ID:kYGqyW3R
>「業界談義」、愚痴はプログラマー板へどうぞ。
板ルールが読めない池沼
そしてプログラム書けずにドヤ顔で役に立たない長文書くバカ
2023/04/02(日) 06:39:50.05ID:M90rTQGQ
大手IT企業は揃ってC++ではダメだと判断してRustへ移行しつつあるのに
底辺は真逆でRustはダメでC++に拘るのはなぜ?
2023/04/02(日) 06:53:36.16ID:W9/nq+tL
あっちにもスレあったんだけどね、あんま流行ってなかったから
マの問題じゃない、言語がイイんだ! ってgdgdやるのがいいみたいだ

Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/

ほんとにマの問題なら、>>1 で終わってしまうw
2023/04/02(日) 06:54:05.31ID:W9/nq+tL
あっ >>12 >>10
2023/04/02(日) 08:05:56.68ID:O/tjJbYW
>>11
DQNだから言語的になんら優位性のないC++に固執している
過去の遺産だけはC++の優位性があるがそれすら時間とともに置き換わっていく
2023/04/02(日) 08:13:05.31ID:W9/nq+tL
Rustは難しくない。そうだろ?
大手が本格的に移行しはじめてからでも、全然遅かねえんだよ

ま、C++を捨てられないってのは、このスレだけの内緒だけどな!
2023/04/02(日) 08:16:48.61ID:W9/nq+tL
Rustに移行ってのは、採用された程度じゃ移行じゃない
APIに、Rustの所有権・マルチスレッド関係のシグネチャが付くようになって、ようやっとだ
その日はくる

そして、Rustの独占は揺らぐ
2023/04/02(日) 08:25:23.82ID:W9/nq+tL
C++を捨てたんなら、no_mangle とか、まさか、extern "C" とかいう呪詛を唱えてないよな?

移行っていう以上、そういうの要らないんだよ
C++が、こっちから適合してやっからよ
2023/04/02(日) 10:39:13.92ID:Xkdfgrgv
複おじはね、承認に飢えた構ってちゃんなのよ
この紛うことなきクソスレを隔離スレ化して構い続けてあげれば、他スレの被害を最小限にできるって寸法よ
こんなクソゴミスレを存続させる意義はここにある

君たちも>>5は知識として覚えておいて、そこらでそれっぽい書き込みを見ても一切反応しちゃいけないぞ
2023/04/02(日) 10:48:26.80ID:W9/nq+tL
ディスパッチはディスパッチだろ、くらいに思ってたのに、
Rustの優位性を説明するキーワードのひとつなのね
もうちょっと勉強してからそのへんはゆっくり読む罠 ついていけん

C++を捨てろって言われると猛然と怒るけど、
じゃRust使わないのかって聞かれると、いやじゃんじゃん使うよ必要ならって答える
それがC++er
20デフォルトの名無しさん
垢版 |
2023/04/02(日) 11:14:49.29ID:3BWJUO+j
>>5
よくまとまってる
21デフォルトの名無しさん
垢版 |
2023/04/02(日) 12:12:13.50ID:nLGbG+/r
>>19
>Rustの優位性を説明するキーワードのひとつなのね
静的ディスパッチ/動的ディスパッチの違いは
基本としておさえておくべきポイントというだけで
Rustに明確な優位性があるわけではないよ
vtableの持ち方の違いもトレードオフだから
何に重きを置くかによってRustがやや有利な場合もあればC++が有利な場合もある
22デフォルトの名無しさん
垢版 |
2023/04/02(日) 12:30:32.66ID:hC5sLbbp
しゃぶれよ
2023/04/02(日) 13:40:35.10ID:Ky8sq4kq
>前スレ

>Rust派は、Rustなら、必ず・全部安全

doubt
2023/04/02(日) 14:12:33.01ID:W9/nq+tL
そりゃC++よりは安全だろうけど

少なくともメモリ管理において、Rustの安全性って、数学的に保証されるものなの?
25デフォルトの名無しさん
垢版 |
2023/04/02(日) 14:28:31.37ID:PHqZc/RR
>>24
定義次第だと思うのでメモリ管理以外で「安全性が数学的に保証されてる」と思ってる例をいくつかあげてみて
2023/04/02(日) 14:50:01.38ID:W9/nq+tL
あ、わかった
Rustがsafeといっても、定義次第なんだね
2023/04/02(日) 15:21:53.12ID:guRaVpcO
ちんぽこ
2023/04/02(日) 16:06:16.39ID:ZsGOmlxy
キチガイの巣
29デフォルトの名無しさん
垢版 |
2023/04/02(日) 16:26:16.23ID:7EJ8Bgwe
>>26
Rustに関係なく「安全かどうか」は定義次第だからね
2023/04/02(日) 16:48:24.56ID:W9/nq+tL
ていうか、こっちに定義を聞いてこられても困るんだよね
この定義において、Rustはここまで安全、って言ってもらえると、それを遵守するんだから
31デフォルトの名無しさん
垢版 |
2023/04/02(日) 16:59:55.82ID:asGxfFqy
>>30
数学的に安全性が保証されてるかどうかを質問してるにも関わらず
「数学的に安全性が保証されてる」とはどういう定義なのか聞かれたら困るのか
それじゃどうしようもないな
2023/04/02(日) 17:13:06.13ID:W9/nq+tL
数学的に安全性が保証されてるっぽい何かがあるんだろ? ってなことだよ
根拠もなしに、安全か? そりゃC++よりマシだろうけどさw
2023/04/02(日) 21:00:51.01ID:WdMf4Ye5
そんな難しいことを考えなくても
Rustの所有権システムをC++で体験したければ
インスタンスを作るときに
必ず常にmake_uniqueかmake_sharedするようにすれば
だいたい同じ振る舞いになる
安全性は保証される
2023/04/02(日) 23:31:24.96ID:Xbrx8QgA
C++ってstd::move(x)した後にx使うとコンパイラに怒られるの?
35デフォルトの名無しさん
垢版 |
2023/04/03(月) 00:26:35.43ID:CRVbAO5a
コンパイラは怒らないから
静的解析ツールが必要だね
2023/04/03(月) 04:38:42.03ID:rltHNDRD
C++はコンパイルとは別に静的解析とデバッグ解析が不可欠だからな
Rustはコンパイラがメモリ安全からデータ競合安全まで保証してくれるのでかなり楽
37デフォルトの名無しさん
垢版 |
2023/04/03(月) 09:30:27.97ID:sPhWZLZN
デバッグ解析てなんやねん

コンパイラがやる静的解析の範囲が広いというだけでRustでも静的解析・動的解析は基本不可欠
clippy, rustfix, rust-fmt, cargo-expand辺りは静的解析ツールの一種
38デフォルトの名無しさん
垢版 |
2023/04/03(月) 09:40:57.30ID:GW2UDfFX
まともにrustかけるやつって例外なくc++もかけるけどな。
2023/04/03(月) 09:51:01.03ID:7c0W6U8J
でも、C++よりマシな程度では?
2023/04/03(月) 09:52:16.72ID:7c0W6U8J
Rustだって、まともにって難しいだろ、たぶん
俺は簡単に使いたい

>>39>>36
2023/04/03(月) 10:19:52.71ID:efbJG7yX
「安全」に描こうとするとコピーが大量に発生するのか
2023/04/03(月) 10:22:17.10ID:efbJG7yX
>>31
Rust は(限られた範囲において)常に安全ω(キリっ
43デフォルトの名無しさん
垢版 |
2023/04/03(月) 10:26:17.83ID:ni15ogEW
C++er あるあるシリーズ
#![allow(unused)]
... = hoge().unwrap;
... = hoge()?;
let p: *const [u8] = &fuga;
unsafe {}
2023/04/03(月) 10:27:57.18ID:L3onvvn+
>>37
C++のスマポの使い方をミスっても公式支援がない話でそれらは的外れかなあ

clippyはRust公式リント
rustfixはRustコンパイラのよる提案の適用
rust-fmtは清書
cargo-expandはマクロ展開
2023/04/03(月) 10:39:12.43ID:ux7WrBep
>>41
Rustはムダなコピーを発生させずに参照を使って安全にメモリ管理できる言語
もしRustで不可能なケースがあったらそれはC++でも不可能で元から無理筋
2023/04/03(月) 10:55:27.74ID:GLvgK6Zq
なおグラフ
2023/04/03(月) 11:15:28.73ID:UoFPeH1S
>>44
それはRustの実装が一つしかないのを公式と言っているに過ぎない
C++でデバッガが用意されていない開発環境は無い?
もしくは使われていないのでは?
48デフォルトの名無しさん
垢版 |
2023/04/03(月) 11:47:36.10ID:GWsnSys+
>>44
誰もが使ってるツールにわざわざ説明つけてるところ見ると基本の静的解析ツールも知らなかったんだな
複オジは所詮このレベルだから全く信用できない
2023/04/03(月) 11:50:42.61ID:UoFPeH1S
>>45
C++は選択ができる
値とポインタ(スマートポインタ)と参照(左辺値と右辺値)
冗長に書くも効率的に書くもプログラマ次第
素人にはオススメしない
2023/04/03(月) 12:08:48.70ID:NHUpObDP
>>49
それはどちらも同じ
所有権を持つ: C++のスマポ、Rustの変数
所有権を持たない: C++とRustの参照
ただしライフタイムが管理できるRustの参照の方が強力かつ安全
2023/04/03(月) 12:15:40.80ID:UoFPeH1S
>>50
「ライフタイムが管理できるRustの参照」って何?
単に参照先が死んでることをコンパイラで弾くことを「管理」って言ってるの?
2023/04/03(月) 12:16:08.17ID:GLvgK6Zq
the Bookを捨てよ、町へ出よう
2023/04/03(月) 12:24:08.54ID:GLvgK6Zq
Rustの宣伝文だけ読んで他言語を知った気になり
Rustの宣伝文を5chにコピペし続けるだけの人生
2023/04/03(月) 12:47:23.54ID:UoFPeH1S
>>53
言い得て妙
マジでこれw
2023/04/03(月) 12:54:34.40ID:xtNXRsCH
>>50
C++の参照とRustの参照はかなり違うぞ
C++の参照はちょっとミスるとダングリングになる
2023/04/03(月) 13:50:16.07ID:QA6IHCRk
「数学的」連呼してる割には名前に直交性が無いな

.iter
.indexed_iter
.iter_mut
.indexed_iter_mut

.outer_iter
.outer_iter_mut

not exist .indexed_iter_mut
not exist .enumerate_iter_mut

.enumerate_pixels_mut

いちいち覚えてられるか?
2023/04/03(月) 13:54:52.87ID:QA6IHCRk
違ったので訂正
誤 not exist .indexed_iter_mut
正 not exist .indexed_outer_iter_mut
2023/04/03(月) 14:01:30.74ID:7c0W6U8J
あ。「数学的」連呼してたのは、C++側の俺
そして、あんまり、数学的な安全の論拠ってのはみつからない

ありゃあC++で真似するんだよ 手本にしない手はない
2023/04/03(月) 14:08:12.25ID:rB8gWfoY
>>56
各ライブラリで命名方針が異なるのは、プログラミング言語の比較の話と全く無関係じゃね?
あと、enumerate_pixels_mutをその提案のenumerate_iter_mutとしてしまったら、肝心なピクセルが消えて意味不明じゃん。
2023/04/03(月) 14:14:18.67ID:7c0W6U8J
雑談としては、そのへんも「きれい」になってくれるとありがたいね
これはC++も同様
2023/04/03(月) 14:28:24.56ID:gdFj9/S+
直交性の意味がよく分からなかった
index_of(先頭から検索)とlast_index_of(末尾から検索)は直交性がないことになるのかな
標準と非標準の関係で考えると自然な命名だと思うけど
2023/04/03(月) 14:29:57.73ID:GLvgK6Zq
かわいそうだから答えてやるか
数学的な保証が云々ってたぶんRustBeltプロジェクトのことだよね
https://plv.mpi-sws.org/rustbelt/
63デフォルトの名無しさん
垢版 |
2023/04/03(月) 15:09:57.20ID:dlyOKSPs
>>62
どの辺を指して数学的と言ってるのか謎
2023/04/03(月) 15:39:46.50ID:7c0W6U8J
Rust 安全 論文、で上手く引き当てられなかったんだよ
仕事サボって、ちょっと読んでみるw

>>63
いや、いいんだ。「それっぽいの」って俺も言った。
2023/04/03(月) 15:53:08.55ID:ZjD7pm8v
>>62
unsafeを使ってsafeなインタフェースを作っている部分、すなわち人間が安全性を保証しなければならなかった部分を、数学的に保証する試みがあるのか
2023/04/03(月) 15:56:35.02ID:7c0W6U8J
そこも気を付けて読んでみるけど、
unsafeを撲滅しようと思ったら、SoCのサポートが必要ってのが今のところの俺の考え
そう考えないと、C++も永遠にsafeに成れないことになってしまう

unsafe部分にバグが、っていう古い記事が出てきたりするんだけど、
どうせ、safeでいいものまでunsafeでいっぱい書いたんでしょ、と思ってる
これは個人の推測
67デフォルトの名無しさん
垢版 |
2023/04/03(月) 16:08:23.20ID:sTax+JD2
>>65
数学的とは一言も書いてなくね?
2023/04/03(月) 16:11:48.88ID:7c0W6U8J
学術的とか、論理的とか、適当に読み替えてくれよ、俺がうまく言えなかったのがいけなかっただけ
69デフォルトの名無しさん
垢版 |
2023/04/03(月) 17:01:07.96ID:dGJwzzow
>>61
last_index_ofはlast occurrenceのindexを示すだけで検索方向を示すものでは無いと思う
2023/04/03(月) 17:14:21.15ID:WoF7SnyS
>>56 >>59
.indexed_pixel_mut も欲しいです
2023/04/03(月) 17:34:14.59ID:G+jJ6S+V
>>70
はあ?
indexed_iter_mutがあるのはndarray crateの話
enumerate_pixels_mutがあるのはimage crateの話
pixelのイテレータとrowのイテレータがあるためiterではなくpixelsおよびrowsと名付けている
>>56が無関係な両ライブラリをごっちやに取り上げてその意味も分からず批判しているだけにすぎない
2023/04/04(火) 09:48:59.96ID:1EmRTN+L
前スレを読んだ感想だが
Rustのvtableは1つに合成されているのがへーだった
ちなみにC++は各基底毎にある
https://i.stack.imgur.com/rK5xx.jpg
https://i.stack.imgur.com/TJ1k6.jpg
73デフォルトの名無しさん
垢版 |
2023/04/04(火) 09:57:45.04ID:WkDAaTBe
>>72
それ読み間違えてるぞ
74デフォルトの名無しさん
垢版 |
2023/04/04(火) 10:05:22.65ID:wMBLnZ/K
複オジメソッド発動
2023/04/04(火) 10:08:21.90ID:2Z9CTS/R
>>72
Rustは継承がなくトレイト合成なんだから当然だろ

>>73
間違ってはいないだろ
2023/04/04(火) 10:10:16.77ID:E2o8nJSl
まあ、ちゃんとキャストできるようにできてるというか
77デフォルトの名無しさん
垢版 |
2023/04/04(火) 12:04:39.20ID:4IMp+S71
何が間違ってるかは教えてあげない
2023/04/04(火) 13:10:25.87ID:I8oGyAYF
プッ
2023/04/04(火) 13:20:50.92ID:E2o8nJSl
C++を知ってしまったことかな。。
80デフォルトの名無しさん
垢版 |
2023/04/04(火) 14:47:11.16ID:NrMPyXSZ
日本人はtraitとtoiletの区別がつきにくい
2023/04/04(火) 17:52:01.37ID:N9reXox+
もうGPTがどの言語でも変換してくれる時代
82デフォルトの名無しさん
垢版 |
2023/04/04(火) 20:58:36.08ID:N+qd6aMB
rustのcrateはdependenciesで入るのが多過ぎるし大き過ぎるわ
要らないものまで無理やり入れさせられてる気分になる
83デフォルトの名無しさん
垢版 |
2023/04/04(火) 21:26:41.04ID:0Yk0tShF
依存crate問題が最大の弱点ではある
2023/04/04(火) 21:32:45.26ID:nnLBpR2L
node_modulesとどっちがヤバいかな?
2023/04/05(水) 15:18:19.83ID:MSpbiXL9
node_modules は -g で解決
86デフォルトの名無しさん
垢版 |
2023/04/05(水) 15:43:59.95ID:lwqbYnd2
dependenciesに5個程度指定するだけで
依存crateが100個近くになるのも珍しくない
nodeとは比べ物にならないくらいひどいよ
87デフォルトの名無しさん
垢版 |
2023/04/05(水) 15:47:38.76ID:lwqbYnd2
しかもビルドすると500~1GB超の容量使うからノートの内蔵SSDを使ってると残す必要のないのは積極的にcleanしないときつい
2023/04/05(水) 15:49:19.66ID:46QkPZge
そんだけファイルの読み書きするなら
IOの速度に影響されそうだね
2023/04/05(水) 15:55:51.93ID:/Rqy2YcF
マイコンでも大人気と聞いたんだが、どうなってるんだ
90デフォルトの名無しさん
垢版 |
2023/04/05(水) 17:07:48.56ID:rkWYEusf
容量使うのはインクリメンタルビルド用の中間生成物で配置するものとは違うよ
2023/04/05(水) 17:26:43.23ID:/Rqy2YcF
C++もPCHファイルを生成するとアホほどでかかったりするが…世の中うまくいかんな
2023/04/06(木) 14:03:59.93ID:sb5+vAgP
チンチン汁出るッ
2023/04/06(木) 15:09:52.63ID:jULmAo6w
C++なら明示的インスタンス化を使おうよ
使っている人をほぼ見ないけども
2023/04/06(木) 15:52:41.86ID:gPnWA/2r
こう書いておけば、インスタンス化した関数に、こんな風に溶け込むだろうな、とか思って書いてたりはする
時間があれば、生成コードを汗で確認する
びっくりするほどスパゲッティな出力になってて、びっくりすることがある まあ実力不足を痛感する瞬間
95デフォルトの名無しさん
垢版 |
2023/04/06(木) 18:12:44.37ID:un5AwFJZ
Cargo はゴミ
2023/04/06(木) 20:01:46.11ID:W1iP43mr
ぺたんこおっぱい
ぽっこりおなか
つるつるわれめ
2023/04/06(木) 23:30:16.81ID:ZIKOL9hh
>>94
クラスも構造体も使わずに書いているの?
2023/04/06(木) 23:35:22.20ID:gPnWA/2r
ああ、callで呼ぶようなものはなんでも関数って言っちゃうねつい
99デフォルトの名無しさん
垢版 |
2023/04/07(金) 00:17:10.35ID:u3jMtx4p
https://www.publickey1.jp/blog/22/ccarbon_languagegooglec.html
こちらはC++との互換性を重視しているらしい
Rustはこの先生きのこれるかな?
2023/04/07(金) 00:31:06.23ID:D4MDBVlu
そこにこれ載ってた
[RFC] Lifetime annotations for C++
https://discourse.llvm.org/t/61377

Rustは勝利した しかし、Rustはその勝利を独占できない
2023/04/07(金) 03:11:25.56ID:ZE3zxB0C
>>100
こう書いてあるね

提案された有効期間注釈に基づく静的分析では、C++ コード内のすべてのメモリ安全性の問題をキャッチすることはできません。
具体的には、すべての時間メモリの安全性のバグ (反復子の無効化によって引き起こされるバグなど) をキャッチすることはできず、
もちろん、有効期間注釈は空間メモリの安全性 (たとえば、C スタイルの配列の範囲外のインデックス作成) には役立ちません。
詳細な議論については、以下のRustとの比較を参照してください。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況