Информация об изменениях

Сообщение Re[4]: Внутренние функции класса от 20.01.2019 9:57

Изменено 20.01.2019 10:04 rg45

Re[4]: Внутренние функции класса
Здравствуйте, Erop, Вы писали:

E>Потому, что при типичных настройках оптимизации компилятор с линкером сами решают что подставлять, а что нет, главное что бы определение подставляемого (или иначе используемого, кстати) было в точке вызова доступно.


А последние несколько лет компиляторы умеют даже инлайнить функции, определение которых располагается после точки использования, в той же единице трансляции.
Re[4]: Внутренние функции класса
Здравствуйте, Erop, Вы писали:

E>Потому, что при типичных настройках оптимизации компилятор с линкером сами решают что подставлять, а что нет, главное что бы определение подставляемого (или иначе используемого, кстати) было в точке вызова доступно.


А последние несколько лет компиляторы умеют даже инлайнить функции, определение которых располагается после точки использования, в той же единице трансляции. Наиболее распространенный сценарий — это обращение к приватным функциям-членам изнутри класса — инлайнинг пройдет *как надо* независимо от последовательности определений всех функций членов в рамках единицы трансляции. Поэтому можно не заморачиваться и выбирать последовательность определений, исходя из соображений лучшего восприятия кода.