2011-05-03 30 views
2

我將一些Delphi代碼翻譯成C++的過程很艱難。代碼:如何在C++中表達Delphi運算符「<>」?

if (GetWindowlong(Stringgrid1.Handle, GWL_STYLE) and WS_VSCROLL) <> 0 
then ShowMessage('Vertical scrollbar is visible!'); 

香港專業教育學院從未有過這樣的IM不知道「<>」運營商是真正使用德爾福。我查了一下,發現它叫做指針不等式運算符,但我不知道它是如何轉化爲C++的。感謝一堆幫助!

+0

這是*關係運算符*之一,在[Delphi文檔](http://docwiki.embarcadero.com/RADStudio/en/Expressions_(Delphi))中有詳細描述。 – 2011-05-03 20:50:53

回答

19

<>只是不等於(類似於VB,出於某種愚蠢的原因)。 C++使用!=作爲像其他任何不平等一樣的指針不等式。

+0

非常感謝! – Ben313 2011-05-03 20:45:07

+0

C是'''奇怪的,但其他語言複製它。 <>是不等於的數學運算符,因此大多數(Algol啓發)語言都使用它。 – 2011-05-04 08:27:24

7

C++中的等效運算符:不等於:!=

因此,代碼應該成爲這樣的:

if ((GetWindowlong(Stringgrid1.Handle, GWL_STYLE) & WS_VSCROLL) != 0) { 
    ShowMessage('Vertical scrollbar is visible!'); 
} 
+1

你確定&&&'?是不是'&'? (我不知道德爾福我不知道) – 2011-05-03 20:34:51

+0

我認爲你是對的 - 應該是&&。 – Ryan 2011-05-03 20:35:59

+1

然後更習慣於'if(GetWindowlong(Stringgrid1.Handle,GWL_STYLE)&WS_VSCROLL)'。 – 2011-05-03 20:39:33

0

<>運營商在C-衍生語言拼寫!=和僅僅意味着不平等

1

<>意味着不同的,並且是等同於!=運營商C++。