私の知る限り、ディスパッチという用語は、単にメソッドの解決と呼び出しを意味します。静的でも動的でもかまいません。多くの人が静的ディスパッチや動的ディスパッチなどの用語を使用しているのを見ました。
私を混乱させるのは、いくつかの不可解な説明もあるということです。マルチディスパッチとは何かを理解しようとしていましたが、それはパラメータタイプによってサブプログラムを選択するだけのようです。私がそれを正しく理解していれば、静的マルチディスパッチと動的マルチディスパッチの両方が存在する可能性があり、C ++は無料の関数を介して複数のディスパッチを提供していると言えます。
しかし、複数のディスパッチに関するウィキペディアの記事によると、C ++には複数のパラメーターによる関数の動的解決がないため、C ++には複数のディスパッチはありません。そして、私はCommon Lispの例とC ++のオーバーロードされた関数との間の概念的な違いを本当に得ていません。マルチディスパッチという用語が動的ディスパッチを意味しない限り、私は概念的な違いを見つけることができないからです。そして、私は派遣が本当に何であるかを混乱させていることに気づきました
QAエントリのマルチディスパッチと関数のオーバーロードも確認しましたが、ディスパッチという用語は基本的に動的であることを前提としているようです。それも私を混乱させます。
ディスパッチという用語の正しい意味は何ですか?動的な解決を意味しますか?この用語は明確に定義されているのですか、それとも単なる従来のものですか?何が欠けていますか?