Виртуальные функции используются для достижения полиморфизма во время выполнения или, скажем, позднего или динамического связывания. Встроенные функции используются для эффективности. Вся идея встроенных функций заключается в том, что всякий раз, когда вызывается встроенная функция, код встроенной функции вставляется или заменяется в точке вызова встроенной функции во время компиляции. Встроенные функции очень полезны, когда небольшие функции часто используются и вызываются в программе много раз.
По умолчанию все функции, определенные внутри класса, неявно или автоматически считаются встроенными, за исключением виртуальных функций (обратите внимание, что встроенный — это запрос к компилятору и его компиляторам выбрать встраивание или нет).
Всякий раз, когда виртуальная функция вызывается с использованием ссылки или указателя на базовый класс, она не может быть встроенной (поскольку вызов разрешается во время выполнения), но всякий раз, когда вызывается с использованием объекта (без ссылки или указателя) этого класса, она может быть встроенной, поскольку компилятор знает точный класс объект во время компиляции.
|
Ссылки:
http://www.parashift.com/c++-faq/inline-virtuals.html
Эффективный C ++, Скотт Мейерс
Эта статья предоставлена Meet Pravasi . Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме
Рекомендуемые посты:
- Могут ли виртуальные функции быть закрытыми в C ++?
- C ++ | Виртуальные функции | Вопрос 1
- C ++ | Виртуальные функции | вопрос 2
- C ++ | Виртуальные функции | Вопрос 3
- C ++ | Виртуальные функции | Вопрос 4
- Могут ли статические функции быть виртуальными в C ++?
- C ++ | Виртуальные функции | Вопрос 13
- C ++ | Виртуальные функции | Вопрос 12
- C ++ | Виртуальные функции | Вопрос 11
- C ++ | Виртуальные функции | Вопрос 10
- C ++ | Виртуальные функции | Вопрос 9
- C ++ | Виртуальные функции | Вопрос 14
- C ++ | Виртуальные функции | Вопрос 7
- C ++ | Виртуальные функции | Вопрос 5
- C ++ | Виртуальные функции | Вопрос 6
0.00 (0%) 0 votes