Senior
22
0
questionbank

Каковы недостатки виртуальных таблиц?

Answer from sobes.tech neural network

Виртуальные таблицы в C++ (и, соответственно, в части реализации виртуальности в Android NDK):

  • Производительность: Небольшой накладной расход при каждом вызове виртуальной функции из-за необходимости поиска в таблице и косвенного вызова. В критически важных по производительности участках это может быть заметно.
  • Размер объекта: Каждый объект с виртуальными функциями содержит дополнительный указатель на свою виртуальную таблицу, увеличивая размер объекта.
  • Сложность реализации: Реализация виртуальности на уровне компилятора и среды выполнения добавляет слой абстракции, который может быть неочевиден для начинающих разработчиков.
  • Невозможность статического анализа: Поскольку конкретная вызываемая функция определяется только во время выполнения (по указателю в виртуальн

Виртуальные таблицы в C++ (и, соответственно, в части реализации виртуальности в Android NDK):

  • Производительность: Небольшой накладной расход при каждом вызове виртуальной функции из-за необходимости поиска в таблице и косвенного вызова. В критически важных по производительности участках это может быть заметно.
  • Размер объекта: Каждый объект с виртуальными функциями содержит дополнительный указатель на свою виртуальную таблицу, увеличивая размер объекта.
  • Сложность реализации: Реализация виртуальности на уровне компилятора и среды выполнения добавляет слой абстракции, который может быть неочевиден для начинающих разработчиков.
  • Невозможность статического анализа: Поскольку конкретная вызываемая функция определяется только во время выполнения (по указателю в виртуальн

Register or sign in to get access to full answers for all questions from the question bank.

virtual-tablesdata-accessperformance-metricsquery-optimizationmemory-management