typedef struct
{
int e1;
int e2;
} sA;
Как лучше осуществить возвращение массива структур sA из ф-ии:
1.
void f(sA* pSA, int* count)
{
int nmbSA = 4;
...
sA *pRes = new sA[nmbSA];
... // do something with array
pSA = pRes;
*count = nmbSA;
}
main()
{
int nmbSA = 0;
sA *pSA = 0;
f(pSA, &nmbSA);
if(pSA)
delete pSA;
}
2.
void f(sA* pSA, int count)
{
int nmbSA = 4;
...
sA *pRes = new sA[nmbSA];
... // do something with array
memcpy(pSA, pRes, sizeof(sA)*(__min(nmbSA, count))
delete pRes;
}
main()
{
int nmbSA = 4;
sA *pSA = new sA[nmbSA];
f(pSA, nmbSA);
delete pSA;
}