关于矩阵类操作符重载的for循环大括号的问题

Matrix operator+(Matrix &a1, Matrix &a2)
{
Matrix temp;
temp = a1;
for (int i = 0; i < a1.row; i++)
for (int j = 0; j < a1.col; j++)
temp.a[i][j] = a1.a[i][j] + a2.a[i][j];
return temp;
}
我想请问下,for循环不加大括号和加大括号的区别,不是很明确
感谢!

 Matrix operator+(Matrix &a1, Matrix &a2)
{
Matrix temp;
temp = a1;
for (int i = 0; i < a1.row; i++)
{
for (int j = 0; j < a1.col; j++)
{
temp.a[i][j] = a1.a[i][j] + a2.a[i][j];
}
}
return temp;
}
是这样写的么?

这个加不加好像没区别吧

完全一样,但是有大括号增加可读性。
如果循环体内有多条语句,不写括号,那么下面的语句会放在循环外,如果没有花括号,添加代码的时候容易遗忘。所以建议即便是单行代码,也加上括号。

如果for循环里面的语句大于1句的话,就必须加大括号;
如果只有一句或者一句都没有的话,那就可加可不加。