Sto scrivendo questo costruttore di copia:C'è qualche problema nel chiamare le funzioni nella lista di inizializzazione?
//CCtor of RegMatrix
RegMatrix::RegMatrix(const RegMatrix &other){
this-> numRow = other.getRow();
this-> numCol = other.getCol();
//Create
_matrix = createMatrix(other.numRow,other.numCol);
int i,j;
//Copy Matrix
for(i=0;i<numRow; ++i){
for(j=0;j<numCol; ++j){
_matrix[i][j] = other._matrix[i][j];
}
}
}
C'è un problema per inizializzare NUMROW, NumCol nella lista di inizializzazione in questo modo: numRow(other.numRow), numCol(other.numCol)
invece di:
this-> numRow = other.getRow();
this-> numCol = other.getCol();
Inoltre, i don' so se non c'è un problema, c'è un problema nel chiamare la funzione dell'oggetto di altre classi nella lista di inizializzazione, come ad esempio:
numRow(other.getRow())
invece di:
this-> numRow = other.getRow();
In altre parole: non ci sono problemi, a patto che tu sia a conoscenza degli effetti – valdo
@valdo: Pensando a questo, potrebbe essere che invocare le funzioni membro su un oggetto non ancora creato completamente _technically_ causa _UB_ anche se tali membri funzione non accedere a nessuno dei membri non ancora costruiti. Non sono sicuro di questo.(In pratica, naturalmente, questo è sicuro finché non si accede a nessun oggetto non POD non ancora costruito.) – sbi