1)他們爲什麼叫「主」?按照評估的順序,他們是第一個?C++主要表達式 - 它是否是主要表達式?
2)C++ 03標準定義了第5章(注1)中的表達式:「一個表達式是一個指定計算的操作符和操作數序列。」
然後,5.1 「基本表達式」 定義主表達式列表:
(1)基本表達式:
字面
此
(表達式)
id-expression
我的m AIN的問題是在連接點THRID:
(表達式)
所以,根據標準,用方括號括的每一個表達式是伯表達式和它們首先計算。它看起來合乎邏輯,並給出了C++表達式中括號行爲的精確解釋(優先級)。
所以這menas使得例如
(可變+ 10)
是伯表達。
VAR =(變量+ 10)* 3
和根據我的理論,它看起來邏輯,但來自其他來源的我知道
(可變+ 10)
不是主表達,但爲什麼?我不理解,然而,標準定義了
(表達式)
作爲主要表達。
請幫助我,因爲我不能。非常感謝,對不起我的英文不好。 嗨。
那些說「(變量+ 10)」不是主要表達式的那些「其他來源」是什麼?而「主要表達」並不意味着它首先得到評估。 – jrok
首先,我在另一個論壇上問了我的問題。它沒有先評估?那爲什麼他們被稱爲主要?感謝您的幫助。 – user2148758
我沒有關於爲什麼他們被稱爲主要的授權答案。據我的理解,這是因爲它們是大型表達式的某種構件。關於評估順序,可以考慮:int x =(1 + 5) - ++ i;'++ i'也可以首先評估,即使它是一元表達式而不是主要表達式。無論誰說(變量+10)不是主要表達式都是錯誤的。 – jrok