Здравствуйте, удусекшл, Вы писали:
DI>>Булшит конечно, использовать плюсы в ядре ОС можно, но только ограниченным подмножеством которое, чуть больше, чем си.
У>Виртуальные методы, абстрактные классы, шаблоны, алгоритмы — это "чуть больше, чем си"? Если так, то и весь язык просто чуть больше, чем си
А ты вот, например, понимаешь как работают виртуальные вызовы? Я расскажу:
1. В каждом объекте появляется указатель на таблицу виртуальных функций, выросший размер объекта приводит, например, к тому, что твой объект перестает помещаться в кеш линию, а это значит, что в память надо ходить чаще
2. С девиртуализацией компилятор может не справится, поэтому:
3. Чтение таблицы ВФ по этому указателю тоже может означать поход по памяти и плюс к этому вытеснение из кеша данных, которые могут скоро понадобится
4. И еще один поход по памяти собственно в функцию
Неудачное стечение обстоятельств и вызов ВФ оказывается медленней в сотни раз. При этом в С виртуальные функции при необходимости делаются легко.
Вот теперь, когда ты знаешь про стоимость этой абстракции, скажи будут в ядре ОС использовать ВФ?