Временные переменные C ++ в списке инициализации
В C ++ есть ли способ иметь что-то вроде временной переменной в списке инициализации. Я хочу инициализировать два константных члена с одним и тем же экземпляром чего-либо без необходимости передавать это что-либо, удалять требование const, использовать Factory (т.е. передавать его, но фабрика генерирует его, чтобы скрыть от пользователя API), или у temp есть переменная-член.
То есть что-то вроде
Class Baz{
const Foo f;
const Bar b;
Baz(Paramaters p):temp(p),f(p,temp),b(p,temp){ //temp is an instance of Something
// But NOT A member of Baz
// Whatever
}
}
вместо
Class Baz{
Foo f;
Bar b;
Baz(Paramaters p){
Something temp(p);
f = Foo(p,temp)
b = Bar(p,temp)
}
}
или же
Class Baz{
Foo f;
Bar b;
Baz(Paramaters p,Something s):f(p,s),b(p,s){
}
}