구글 스타일 가이드: Inline Functions

brewmaster
newworld-kim
Published in
Oct 26, 2022

원문: https://google.github.io/styleguide/cppguide.html#Inline_Functions

Photo by Krishna Pandey on Unsplash

> Define functions inline only when they are small, say, 10 lines or fewer.

구글 스타일 가이드에서는 인라인 함수(inline function)에 대한 스타일 가이드를 명확히 하고 있다. 10줄 이하의 함수만 인라인으로 만들어 쓰자는 것이다.
인라인 함수를 쓰면 컴파일러가 더 효율적인 목적 코드를 생성할 가능성 있다. 그렇지만, 인라인을 남용하면 프로그램이 느려지거나, 인라인 함수 크기에 따라 목적 코드의 크기도 달라질 수 있다. 때문에, 짧은 라인으로 구성된 함수만을 인라인 함수로 만들어 쓰자는 것이다.

모든 10줄 이하의 함수들이 인라인에 용이한 것은 아니다. 가상 함수 또는 재귀 함수는 인라인화 되지 않으며, 암시적 멤버 또는 기본 소멸자에 의해 10줄이 초과되는 경우도 있으니 유의하자.

CppCoreGuidelines에도 인라인 함수에 관한 항목이 있다.

  • 함수 인터페이스가 더 이상 변경되지 않는 경우에만 인라인 함수를 사용하자.
  • constexpr functioninline function 을 의미한다.
  • 클래스 내 멤버 함수들은 inline 이 기본적으로 붙는다.

--

--