Является ли более эффективным для класса доступ к переменным-членам или локальным переменным? Например, предположим, что у вас есть метод (обратный вызов), который несет единственную ответственность за получение данных, выполнение вычислений на нем, а затем передачу его другим классам. По производительности, имеет ли смысл иметь список переменных-членов, которые этот метод заполняет при получении данных? Или просто объявляйте локальные переменные каждый раз, когда вызывается метод обратного вызова?
Предположим, что этот метод будет называться сотни раз в секунду...
В случае, если я не понимаю, вот несколько быстрых примеров:
// use local variables
class thisClass {
public:
void callback( msg& msg )
{
int varA;
double varB;
std::string varC;
varA = msg.getInt();
varB = msg.getDouble();
varC = msg.getString();
// do a bunch of calculations
}
};
// use member variables
class thisClass {
public:
void callback( msg& msg )
{
m_varA = msg.getInt();
m_varB = msg.getDouble();
m_varC = msg.getString();
// do a bunch of calculations
}
private:
int m_varA;
double m_varB;
std::string m_varC;
};