本文介绍了有人能告诉我这个if语句是如何工作的吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
if(src.mCells [i] [j])mCells [i] [j] = src.mCells [i] [j] - > clone(); else mCells [我] [j] .reset(); 我的尝试: if(src.mCells [i] [j])mCells [i] [j] = src.mCells [i] [j] - > clone(); else mCells [i] [j] .reset();
if (src.mCells [i] [j]) mCells [i] [j] = src.mCells [i] [j] ->clone(); else mCells [i] [j].reset(); What I have tried: if (src.mCells [i] [j]) mCells [i] [j] = src.mCells [i] [j] ->clone(); else mCells [i] [j].reset();
推荐答案C(C ++所基于的)没有布尔值的概念:相反,任何非零值被认为是真,只有零值被认为是假。 所以你的如果是只是简短的形式 C (on which C++ is based) did not have a concept of boolean values: instead, any non-zero value is considered "true" and only zero values are considered "false". So your if is just a short form of if (src.mCells [i] [j] != 0) ...
这是错误代码的一个很好的例子。 ;-) 我会写它(没有评论) it is a good example for bad code. ;-) I would write it (without the comments) if(src.mCells[i][j] != 0)//sanity check { mCells[i][j] = src.mCells[i][j]->clone(); //make copy } else { mCells[i][j].reset();//defaulting }
最好在if / else代码中使用大括号来提高可读性和维护性。
It is best to use braces in if/else code for readability and maintenance.
更多推荐
有人能告诉我这个if语句是如何工作的吗?
发布评论