Получается, у inline это основная функция? Часто замечал в проектах использование inline один раз для одного определения и последующего встраивания компилятором. Это даёт какой-то буст по скорости?
Много определений как раз с целью, чтобы тело можно было таскать между единицами трансляции и за счёт этого встраивать оптимизатором.
Получается, у inline это основная функция? Часто замечал в проектах использование inline один раз для одного определения и последующего встраивания компилятором. Это даёт какой-то буст по скорости?
Получается, у inline это основная функция? Часто замечал в проектах использование inline один раз для одного определения и последующего встраивания компилятором. Это даёт какой-то буст по скорости?
Это даёт компилятору возможность видеть тело функции, что положительно сказывается на встраивании
Ну то есть если определение всего одно, то смысла использовать inline для функции нет и это просто неграммотное использьзование средств языка?
Если функция нужна в рамках одной единицы трансляции то причин использовать нет. Если нужна в нескольких — значит или её будут вызывать по символу, или её определение должно приехать в несколько единиц трансляции для попытки встраивания, и вот тут чтобы не ломать ODR нужен inline.
Если функция нужна в рамках одной единицы трансляции то причин использовать нет. Если нужна в нескольких — значит или её будут вызывать по символу, или её определение должно приехать в несколько единиц трансляции для попытки встраивания, и вот тут чтобы не ломать ODR нужен inline.