Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Dispatch table
Computer code structure with a table of pointers to functions or similar

In computer science, a dispatch table is a table of pointers or memory addresses to functions or methods. Use of such a table is a common technique when implementing late binding in object-oriented programming.

We don't have any images related to Dispatch table yet.
We don't have any YouTube videos related to Dispatch table yet.
We don't have any PDF documents related to Dispatch table yet.
We don't have any Books related to Dispatch table yet.
We don't have any archived web articles related to Dispatch table yet.

Perl implementation

The following shows one way to implement a dispatch table in Perl, using a hash to store references to code (also known as function pointers).

# Define the table using one anonymous code-ref and one named code-ref my %dispatch = ( "-h" => sub { return "hello\n"; }, "-g" => \&say_goodbye ); sub say_goodbye { return "goodbye\n"; } # Fetch the code ref from the table, and invoke it my $sub = $dispatch{$ARGV[0]}; print $sub ? $sub->() : "unknown argument\n";

Running this Perl program as perl greet -h will produce "hello", and running it as perl greet -g will produce "goodbye".

JavaScript implementation

Following is a demo of implementing a dispatch table in JavaScript:

const thingsWeCanDo = { doThisThing() { /* behavior */ }, doThatThing() { /* behavior */ }, doThisOtherThing() { /* behavior */ }, default() { /* behavior */ } }; function doSomething(doWhat) { const thingToDo = Object.hasOwn(thingsWeCanDo, doWhat) ? doWhat : "default"; return thingsWeCanDo[thingToDo](); }

Virtual method tables

Main article: Virtual method table

In object-oriented programming languages that support virtual methods, the compiler will automatically create a dispatch table for each object of a class containing virtual methods. This table is called a virtual method table or vtable, and every call to a virtual method is dispatched through the vtable.

See also

References

  1. Goldfuss, Alice. "Function Dispatch Tables in C". alicegoldfuss.com. Retrieved 23 January 2021. https://blog.alicegoldfuss.com/function-dispatch-tables/