Доброго времени суток!
В проекте, который я пишу, есть библиотека, экспортирующая функцию. Работа с функцией осуществляется след. образом:
1) передача параметров в нее —
int errCode = funс(par1, par2,.., parn);
2) получение результата,- в errCode.
funс внутри себя включает создание объекта некоторого класса, из которого использует 2 функции:
funс(par1, par2,.., parn)
{
fft fftObj (par1, par2,.., parn);
int i = fftObj.init();
if (i > 0)
return i = fftObj.Work();
else
return i;
}
Как сделать так, чтобы при вызове функции funс из библиотеки можно было сделать fftObj.init() только раз,
то есть инициализацию объекта, и множество раз вызвать fftObj.Work() ?
Иными словами, мне нужно, чтобы объект не умирал после завершения работы функции func, и с ним можно было работать желаемое время, а потом его спокойно удалить.
Как то так:
1) Singleton?
2) Или
class fft_creater : public fft
{
public:
fft_creater()
{
init();
}
}
void foo( ...params... )
{
static fft_creater obj;
obj.Work();
}