Имеет ли смысл использовать встроенное ключевое слово с шаблонами?
Поскольку шаблоны определены в заголовках, и компилятор может определить, является ли включение функции выгодным, имеет ли это смысл? Я слышал, что современные компиляторы лучше знают, когда нужно встроить функцию, и игнорируютinline
намек.
редактировать: я хотел бы принять оба ответа, но это невозможно. Чтобы закрыть вопрос, я принимаюphresnelответ, потому что он получил большинство голосов, и он формально прав, но, как я уже упоминал в комментариях, я считаю,PuppyиComponent 10Ответы тоже правильные, с другой точки зрения.
Проблема в семантике C ++, которая не является строгой в случаеinline
Ключевое слово и встраивание.phresnel говорит "напишите inline, если вы это имеете в виду", но что на самом деле означаетinline
неясно, поскольку оно перешло от своего первоначального значения к директиве, которая «прекращает ссоры компиляторов по поводу нарушений ODR»; какPuppy говорит.