Мне интересно, есть ли разница между встроенными функциями на уровне компоновщика или уровнем компилятора с точки зрения скорости выполнения?
например. если у меня есть все мои функции в .cpp файлах и полагаться на компоновщик, чтобы сделать inlining, будет ли это inlining потенциально менее эффективным, чем сказать, чтобы определить некоторые функции в заголовках для выбранной вставки на уровне компилятора или единичные сборки без какой-либо привязки и всей инкрустации сделанный компилятором?
Если компоновщик так же эффективен, почему бы все-таки по-прежнему беспокоить встроенные функции явно на уровне компилятора? Это просто для удобства, скажем, существует только один конструктор строк, поэтому нельзя не беспокоить файл .cpp?
Я полагаю, это может зависеть от компилятора, и в этом случае меня больше всего интересуют Visual С++ (Windows) и gcc (Linux).
Спасибо