キャスト変換が重いといわれ続けて育ってきたのですが
最近本でキャストを調べるきっかけがあり
static_castを調べたところこれがコンパイル時に決まるみたいで
であればガンガン使っても問題ないのではと思って質問しました
誰が言い続けたんだろうそんなこと。
どういうつもりで言ったのか、そのキャストは何を意味するのか、その人に聞けばいいんじゃ?
> dynamic_castのことを言っていたのでしょうか?
そんなことをここで聞かれても。
過去の先生なので今は聞くことができません
質問は修正します
> キャストは重いからあまり使うなと言われるが
背景とする環境などがあれば追記してください。
(組み込み向けなど、特殊な環境で使うものの場合、それに応じた実装が必要です)
複数回、キャストが重いとしか言ってなかったんでしょうか?
重いからどうしろという代替策は聞いていませんか?
> 背景とする環境などがあれば追記してください。
答えになっているかわかりませんがゲーム開発で使おうとしています
> 複数回、キャストが重いとしか言ってなかったんでしょうか?
重いからどうしろという代替策は聞いていませんか?
Castをできるだけ使わないようにしろと言われました
もしくは重い処理だとわかるように関数を命名しろと言われました
遅くなるソースコードの例と、出力されたアセンブリコードを提示してください。
ちなみに、私は計測・検証方法も提示せず、プロファイリングも取らずに速い遅い言う奴は全く信用しません。
>遅くなるソースコードの例と、出力されたアセンブリコードを提示してください
存在しません
ちなみに、私は計測・検証方法も提示せず、プロファイリングも取らずに速い遅い言う奴は全く信用しません。>
私が行ったわけではないのでご理解を
なら、最低限自分で検証して、遅くなった事例が出てきてから質問してください。
https://teratail.com/help/avoid-asking
> 問題・課題が含まれていない質問
> teratailは困っている人の質問を解決するサービスです。そのため、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。
> 何か困っている理由があり、最適解を見つける為の知見を得たい場合は、その理由や何が知りたいのかを明確に記述してください。
しつもんはなんですか?
> もしくは重い処理だとわかるように関数を命名しろと言われました
他に何も要因がなく、内部でキャストを使用しているというだけで命名にまで影響を及ぼすほど重くなるというのが謎ですね。
非常に違和感をおぼえます。
極めて特殊な条件があるのであればまだわかりますが、そこに思い当たるところはないんですよね?
先生の言っていたことが間違っている可能性は全くありませんか?
その先生は十分な経験と知識のある人ですか?
駆け出しのメンターとかではないですか?
>他に何も要因がなく、内部でキャストを使用しているというだけで命名にまで影響を及ぼすほど重くなるというのが謎ですね。
非常に違和感をおぼえます。
自分も今日調べていてそう思いました
static_castを指さして重いと言っていたので
間違いはないと思うのですが、
とりあえず上司にも聞いてみようと思います!
例えば、double の演算は float の演算よりも速いため、わざわざ float にキャストして膨大な演算を行った場合には遅くなる可能性があります。
また、double と float の相互変換自体にも時間をとられると思います。
キャスト自体ではなく、そういった「特定の型から特定の型にキャストする」という文脈でもありませんか?