Я много искал для встраивания в C++ в Интернете, но кажется, что каждый предпочитает другой способ реализации.C++ Inlining - что такое «правильный» способ
Моя проблема выглядит следующим образом:
// header-file
class Test {
int i;
public:
int getI();
};
// source-file
int Test::getI() { return i; }
Поскольку эта функция getI()
вызывается несколько тысяч раз, я думаю, что это полезно «инлайн» эта функция. Что такое лучший способ сделать это:
// 1) define the function within the class-definition
class Test {
int i;
public:
int getI() { return i; }
};
// 2) define the function within the header-file
inline int Test::getI() { return i; } // directly located under class-definition
// 3) let the fct-definition stay in the source file and write "inline" before it (somehow this does not compile)
Может ли вы дать мне подсказку, какой путь является лучшей или наиболее производительной реализацией? Спасибо за помощь :)
1 и 2 должны быть идентичными с точки зрения генерируемого кода и являться лишь вопросом стиля или личных мнений, поэтому невозможно дать окончательный ответ. –