使用C++中的if语句测试相等性

1 c++

对于体验程序员来说,这可能是一个愚蠢的问题......但无论如何,我只想弄明白.if("Hello"== $ helloString)if(helloString =="Hello")之间什么区别?我认为if语句中的顺序并不重要,但我想我的想法一定有问题.有人可以向我赎罪吗?就像在什么样的情况下,人们会使用第一个/第二个if语句来进行平等测试?谢谢!!

Tim*_*Tim 7

这是一种"安全"措施.如果您有拼写错误,并省略其中一个'='字符,那么您正在进行分配而不是比较.

if (some_string = "Hello")
Run Code Online (Sandbox Code Playgroud)

覆盖字符串,if被认为是真的(假设使用std::string).另一方面:

if ("Hello" = somestring)
Run Code Online (Sandbox Code Playgroud)

是一个编译错误.

它看起来有点奇怪,但在某些圈子里它被认为是一种好的,预防性的编码措施.