anonymous@RULINUX.NET~# | Last login: 2024-12-23 02:44:11 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Development | [RSS] |
anonymous(*) (2016-03-18 14:06:48)
Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.16
|
|
|
Скрыть
Re: c++ final class почему компилятор не делает inlineМне кажется это всё от того, что метод объявлен виртуальным. c.fun не объявлен виртуальным, а A2::fun2 же объявлен. И, КМК, final запрещает наследовать класс, но с чего бы ему развиртуализировать метод? |
Скрыть
Re: c++ final class почему компилятор не делает inlineоба метода являются виртуальными и оба допускают девиртуализацию и инлайнинг метод C::fun виртуальный, т.к. является таковым в базовом классе A. слово virtual не обязательно писать для метода C::fun. |
Скрыть
Re: c++ final class почему компилятор не делает inline> мы заранее знаем, какие именно методы должны вызваться
И код, которому абстрактно на конкретную реализацию: anonymous(*)(2016-03-20 12:50:01)
Отредактировано anonymous по причине "не указана" Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 |
Скрыть
Re: c++ final class почему компилятор не делает inlineВ функции gmain (о которой изначально шла речь) - заранее известно, какие конкретные методы будут вызваны. Тело функции gmain можно целиком inline-ить.0 |
Скрыть
Re: c++ final class почему компилятор не делает inlineпогодите, народ! anonymous(*)(2016-03-23 00:11:42)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) konqueror/4.14.17 Safari/537.21 |
Скрыть
Re: c++ final class почему компилятор не делает inlineТС-то интересуется почему компилятор не заинлайнил оба метода в конкретной ситуации. Вроде уже договорились, что final тут ни при чём, но по сути вопроса пока идей чота нет. |
|
|
|
Этот тред читают 1 пользователь: |
Анонимных: 1 Зарегистрированных: 0 |
Re: c++ final class почему компилятор не делает inline
один вызов развернул, второй вообще оставил виртуальным.
Это баг или я чего-то не понимаю в final ?
Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.16