AFAIK, il termine dispatch significa solo una risoluzione del metodo e una chiamata. Non importa se è statico o dinamico. Ho visto che molte persone usano un termine come invio statico e invio dinamico .
Ciò che mi rende confuso è che ci sono anche delle descrizioni misteriose. Stavo cercando di capire cosa è dispatch multiplo , e sembra selezionare un sottoprogramma per tipi di parametri . Se ho capito bene, possono esserci entrambi dispatch multipli statici e dispatch multipli dinamici , e possiamo dire che C ++ sta fornendo dispatch multipli via funzioni gratuite.
Tuttavia, l'articolo di Wikipedia su dispatch multipli dice che C ++ non ha dispatch multipli perché non ha una risoluzione dinamica della funzione in base a più parametri. E davvero non ottengo una differenza concettuale tra l'esempio di Common Lisp e la funzione di overload di C ++. Perché non riesco a trovare alcuna differenza concettuale a meno che il termine dispatch multipli implichi invio dinamico . E ho capito che sto confondendo ciò che dispatching è veramente
Ho anche controllato la voce QA Sovraccarico di più dispatch e funzioni , e sembra che la risposta sia prematura, il termine invio è fondamentalmente dinamico . Questo mi rende anche confuso.
Qual è il significato corretto del termine invio ? Comprende risoluzione dinamica ? Questo termine è ben definito o semplicemente convenzionale? Cosa mi manca?