したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

波形描画ビューのその後

17sagamat:2023/09/13(水) 21:48:58
うつぼかずら様

少しクラスの継承についてほんのちょっとだけ勉強してみました。気になったことがあったので追記させていただきます。

controllerからMyVSTControllerにキャストを試みているわけですが、controllerのクラスがIPtr<EditController>(基底クラス)、キャスト先がIPtr<MyVSTController>(派生クラス)ということで、これはネットで見る限り「ダウンキャスト」と呼ばれるものかと理解しました。基本的にはやっちゃダメと書いてある記事が多く、確かに素人の当方から見てもアクセス違反などが起こりやすいのかなぁという印象です。
パラメータ操作クラスMyVSTControllerはEditControllerを継承して定義していると思いますが、インスタンスcontrollerは基底クラスEditControllerで生成されているのだろうと思います。このcontrollerをそもそもMyVSTControllerクラスで生成できていればキャストの必要はなく、wavdataにアクセスできるのではないかと思います。

インスタンスcontrollerがEditControllerで生成されることはVSTの仕様でしょうか?もしそうだとすると、今回の例に限らずGUIクラスからパラメータ操作クラスの追加メンバ関数や変数にアクセスする際に、いつもダウンキャストが必要になるように思います。なんだかまずい気がします。

付け焼刃の情報ですので、間違った認識があろうかと思います。ご容赦いただけますと幸いです。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板