Я также хотел бы добавить, что, если вы не выполняете миллионы операций получения / набора на кадр, в значительной степени не имеет значения, встроены они или нет. Честно говоря, не стоит терять сон.
Кроме того, имейте в виду, что если вы поместите слово «inline» перед вашим объявлением + определением, это не означает, что компилятор встроит ваш код. Он использует различные эвристики, чтобы понять, имеет ли это смысл, что часто является классическим компромиссом скорости и размера. Однако в VC ++ есть ключевое слово «__forceinline» грубой силы (я не уверен, что это такое в GCC), которое мешает компиляторам придумывать эвристику. Я действительно не рекомендую это вообще, и кроме того, как только вы портируете на другую архитектуру, это, вероятно, будет неправильно.
Попытайтесь поместить все определения функций в файл реализации и оставить чистые объявления для заголовков (если, конечно, вы не используете метапрограммирование шаблонов (STL / BOOST / etc), в этом случае почти все находится в заголовках ;))
Одно из классических мест, куда люди любят встраивать (по крайней мере, в видеоигры, откуда я), - это математические заголовки. Перекрестные / точечные произведения, длины векторов, очистка матрицы и т. Д. Часто помещаются в заголовок, что я просто считаю ненужным. 9/10 это не имеет никакого значения для производительности, и если вам когда-либо понадобится сделать узкий цикл, такой как преобразование большого векторного массива с помощью некоторой матрицы, вам, вероятно, лучше вручную выполнять математические операции в строке или даже лучше кодировать их в специфичный для платформы ассемблер.
О, и еще один момент, если вы чувствуете, что вам действительно нужен класс, чтобы было больше данных, чем кода, рассмотрите возможность использования старой доброй структуры, которая не приносит ОО-багаж абстракции, вот для чего она нужна. :)
Извините, я не хотел так много продолжать, но я просто думаю, что это помогает рассмотреть реальные случаи использования и не слишком зацикливаться на педантичных настройках компилятора (поверьте мне, я был там;))
Удачи.
Шейн