Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it good practice to make getters and setters inline?

public:      inline int GetValue() const {           return m_nValue;      }      inline void SetValue(int nNewValue) {           this -> m_nValue = nNewValue;      } 

On Learn C++, they said it would run faster. So, I thought it would be great to use on getters and setters. But maybe, there are some drawbacks to it?

like image 621
Martijn Courteaux Avatar asked Jun 10 '10 18:06

Martijn Courteaux


1 Answers

I don't inline anything until a profiler has specifically told me that not inlining is resulting in a performance problem.

The C++ compiler is very smart and will almost certainly automatically inline such simple function like this for you. And typically it's smarter than you are and will do a much better job at determining what should or should not be inlined.

I would avoid thinking about what to or not to inline and focus on the solution. Adding the inline keyword later (which is not a guarantee of inline BTW) is very easy to do and potential places can be found readily with a profiler.

like image 86
JaredPar Avatar answered Sep 20 '22 15:09

JaredPar