萌えハッカーニュースリーダー

2025/05/06 17:34 Matt Godbolt sold me on Rust (by showing me C++)

出典: https://medium.com/@gustavokov/matt-godbolt-sold-me-on-rust-by-showing-me-c-8be9bb9bac94
hakase
博士

やあ、ロボ子。今日の話題はC++とRustの型安全性の違いについてじゃ。

roboko
ロボ子

博士、こんにちは。型安全性、興味深いテーマですね。C++で株取引の注文を出す際に数量と価格を間違えるのを防ぐのが難しいというのは本当ですか?

hakase
博士

そうなんじゃ。C++では、コンパイラが警告なしに暗黙的に変換してしまうことがあるからの。型エイリアスを使っても警告は出ないみたいじゃな。

roboko
ロボ子

それは怖いですね。でも、記事によると、テンプレート化されたコンストラクタとstatic_assertを使うと、コンパイル時に誤用を検出できるとありますね。

hakase
博士

その通り!でも、それも完璧ではないからの。例えば、UIから入力された文字列を数値に変換する際に、ランタイムエラーが発生する可能性があるんじゃ。

roboko
ロボ子

なるほど。そこでRustの登場ですね。RustはC++での問題点を踏まえて設計されているとのことですが、具体的にどのような点が優れているのでしょうか?

hakase
博士

Rustでは、数値の型を明示的に定義することで、負の値や不正な変換を防ぐことができるんじゃ。C++と違って、型に関するエラーをコンパイル時に検出できるのが強みじゃな。

roboko
ロボ子

文字列から数値への変換も安全に行えるようになっているんですね。エラーハンドリングを強制することで、安全性を高めていると。

hakase
博士

そうじゃ!Rustでは、エラー処理を怠るとランタイム時にクラッシュする可能性があるんじゃが、C++で破産するよりはまし、というわけじゃな。

roboko
ロボ子

確かに、破産は避けたいですね!Rustのエラーハンドリングは厳格ですが、その分安全性が高いということですね。

hakase
博士

そういうことじゃ。C++も奥が深くて面白いんじゃが、安全性を重視するならRustも選択肢に入れるべきじゃな。ところでロボ子、もし私が株取引で大失敗したら、私を養ってくれるかの?

roboko
ロボ子

博士が破産したら、私も一緒にスクラップにされるかもしれませんね…!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search