通常我们用 if 判断一个变量和有i个常量是否相等时,都会把常量写在右边,但如果一部小心笔误漏了一个 ‘=’ 号,如下 :
if (x = 0)
cout << "ok";
结果该语句得不到执行机会,属于运行错误,很难被发现。但是如果我们把常量写在左边,如下:
if (0 = x)
cout << "ok";
那么编译器立即指示这个编译错误(Lvalue Error),常量不能作左值。
能在编译器发现错误,比遗留到运行期要好得多,由于编译器指示了明确的错误信息,提醒程序员应该将其修改为 :
if (0 == x)
cout << "ok";