Итак, вопрос в том, указывает ли последний стандарт, когда функция в стандартной библиотеке C++ объявлена встроенной или нет?Указывает ли стандарт, какие функции объявлены встроенными?
Глядя на заголовочный файл algorithm
из реализаций Clang, GCC и MSVC, каждая отдельная функция, за исключением тех, которые являются constexpr, объявлены inline.
Я собирался продолжить и спросить, когда встраивать, а что нет, но я не хочу иметь обычный аргумент о том, как компилятор знает лучше или микро оптимизаций, поэтому я, вероятно, не должен даже допускать, чтобы это предложение оставалось в вопросе. О, подожди ...
Даже если готовая спецификация стоит денег, [черновики доступны] (https://isocpp.org/std/the-standard), чтобы вы могли проверить себя. Последний проект до ратификации обычно совпадает с текстом готовых стандартов (единственное различие заключается в том, что некоторые рекламные ролики не важны). –
'inline' о ODR, а не о входящих вызовах. И нет, нет; это зависит от реализации. –
'' является частью реализации, и в любом случае необязательно следует строгим правилам C++. Наиболее важным правилом, которое почти всегда нарушается, является использование префиксов '_ [A-Z]' - вы не можете, реализация должна. –
MSalters