看代码的时候 看见一个判断语句出现这样的代码?

if(suc=="true") 是表示把 true 这个值赋给 suc吗?还是别的

这个写法没有问题,不过返回的一定是false.
这个不是复制给suc , “ == ” 一般是用来做逻辑判断的。 “ = ”一般用来复制
if 括号里一般是 boolean类型的值,只有满足这个条件才执行接下来的语句。
而你的if里的内容,suc是字符串,字符串比较相等时,一般用“true".equals(suc), 判断suc中的对象是否是 “true”。
而你这里 用suc == "true"来判断,实际他们比较的是他们在【内存空间中指向的地址】,而不是值,所以返回的一定是false。

判断suc的值是否为true ,一个= 表示赋值 ,两个表示判断是否等于,相等返回true ,不相等返回false
这个写法有点问题
if(true==!!suc)

表示suc是否等于字符串true

suc本身也应该是一个字符串,判断suc是不是等于“true”, 另外, suc类型应该是std::string, 才能判断正确。

一个 = 是赋值,两个 == 是等于,这里是指判断suc是否等于true。