156. Polymorphism-i

Question.7

A developer uses a template instead of virtual for zero-overhead polymorphism:

template<typename Driver>
void send_byte(Driver& drv, uint8_t b) {
   drv.send(b);  // Resolved at compile time
}

UART uart;
SPI spi;
send_byte(uart, 0x55);
send_byte(spi, 0x55);

How does this differ from virtual dispatch?

Need Help? Refer to the Quick Guide below

Select Answer