我正在写这个副本构造函数:
//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];
}
}
}
初始化初始化列表中的numRow,numCol是否有问题:numRow(other.numRow), numCol(other.numCol)
而不是:
this-> numRow = other.getRow();
this-> numCol = other.getCol();
另外,我不知道是否存在这样的问题,是否存在在初始化列表中调用其他类的对象函数的问题,例如:
numRow(other.getRow())
而不是:
this-> numRow = other.getRow();
答案 0 :(得分:11)
在初始化列表[...]初始化numRow,numCol是否有问题?
一般 ,这样做有两个问题:
在 具体示例 中,这无关紧要,因此您 安全 可以执行此操作。
答案 1 :(得分:2)
实际上没有问题。除了要小心初始化顺序不是在init-list中指定初始值设定项的顺序。该订单是您的成员已在该类中声明的订单。除了那个潜在的问题,我没有看到。 HTH