Существуют ли различия в времени выполнения между конструкторами и списками инициализации? (или это просто вопрос кодирования). У меня есть набор объектов, которые нужно создавать часто и хотели бы знать, есть ли какое-либо увеличение производительности, используя списки инициализации вместо конструкторов.
Если бы я должен был создать миллион экземпляров класса A и еще один миллион класса B, выбор был бы лучше (объекты представляют пакеты, сгенерированные в сети, следовательно, эти числа).
class A {
private:
int a, b;
public:
A(int a_var, int b_var):a(a_var), b(b_var) {};
};
class B {
private:
int a, b;
public:
B(int a_var, int b_var) {
a = a_var;
b = b_var;
}
};
Если какой-либо из конструкторов быстрее, чем другой для примитивных типов (как в примере), будет ли он быстрее, если a и b должны быть заменены типами?
Пример типа:
class AType {
private:
string a, b;
public:
AType(string a_var, string b_var):a(a_var), b(b_var) {};
};