Questo è qualcosa che mi sono chiesto da molto tempo. Prendiamo il seguente esempio:Come vengono gestiti i membri dell'array C++ nelle funzioni di controllo della copia?
struct matrix
{
float data[16];
};
So quello che il costruttore e distruttore di default fare in questo esempio specifico (niente), ma per quanto riguarda il costruttore di copia e l'operatore di assegnazione copia?
struct matrix
{
float data[16];
// automatically generated copy constructor
matrix(const matrix& that) : // What happens here?
{
// (or here?)
}
// automatically generated copy assignment operator
matrix& operator=(const matrix& that)
{
// What happens here?
return *this;
}
};
Ciò comporta std::copy
o std::uninitialized_copy
o memcpy
o memmove
o cosa?
Questo non è proprio C, ma (principalmente) C++. –
@DervinThunk Ho cambiato il titolo della domanda da C a C++ – jfritz42