行列クラスで単項演算子をオーバーロードするために、次のコードを書きました。
const RegMatrix RegMatrix::operator-()const{
RegMatrix result(numRow,numCol);
int i,j;
for(i=0;i<numRow;++i)
for(j=0;j<numCol;++j){
result.setElement(i,j,(-_matrix[i][j]));
}
return result;
}
Visual Studio でデバッガーを使用してプログラムを実行したところ、double が 0 に等しい操作が行われると、結果マトリックスに数値 -0.00000 が挿入されることがわかりました。それは奇妙な VS 表示機能ですか、それとも慎重に処理する必要があるものですか?