我有一個關於正確使用語法的快速問題,基本上我試圖將這兩個if語句彙總到一個if語句中。在使用&&運算符和2個變量的if語句中正確使用語法
if (sc.LastCallToFunction) {
if (p_LowRectanglesList != NULL) {
free(p_LowRectanglesList);
sc.PersistVars->i1 = 0;
}
if (p_HighRectanglesList != NULL) {
free(p_HighRectanglesList);
sc.PersistVars->i2 = 0;
}
return;
難道是語法正確重寫此爲:
if (sc.LastCallToFunction) {
if (p_LowRectanglesList || p_HighrectangleList != NULL) {
free(p_LowRectanglesList && p_HighRectanglesList);
sc.PersistVars->i1 && sc.PersistVars->i2 = 0;
}
return;
或者將編譯器不會接受這種/我是錯誤的邏輯?
你的邏輯是非常錯誤的。 – juanchopanza
非常非常錯誤... –
你幾乎不應該在C++中調用free()。你應該很少使用刪除。看起來「RAII」 - 它會使一切變得更好。 –