Здравствуйте, Awaken, Вы писали:
A>>>-чем функтор лучше функции (в частности, эффективнее ли) A>>>-в каких случаях функцтор или функция не инлайнится?
DC>>Хм.. Насколько я понимаю сильно от компилятора зависит. Кроме того это вроде как рекомендация компилятору, но функтор встроится вероятнее. Наличие >ссылок на функию может повлиять, хотя — хз я не разработчик компиляторов.
A>инлайн это такая необязательная штука, которую компилятор может выполнять, а может и нет. A>например в VC++ целых три режима оптимизации, связанных только с инлайнами (+ __forceinline) A>имхо такие вопросы стоит задавать только разработчикам компиляторов, если хотите услышать внятный ответ. у остальных ответ будет A>носить характер домыслов
Указание inline для функции — совершенно бесполезная штука, по той простой причине что встраиваться код будет в контексте использования и польза от него может определяться только исходя из контекста использования. То есть и решение о встраивании можно принять только видя этот самый контекст. Но когда мы пишем функцию и объявляем её inline, мы то о контексте использования знать ничего не можем. Вот такой вот парадокс.