程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-關於常量表達式的新手問題

c++-關於常量表達式的新手問題

編輯:編程綜合問答
關於常量表達式的新手問題

各位前輩,我最近在自學C++prime5,裡面有一段關於常量表達式的概念把我搞混了
裡面有這麼一段關於常量表達式的定義:
常量表達式是指值不會改變並且在編譯的過程中就能得到結果的表達式。顯然,字面值屬於常量表達式....
然後書上關於字面值得解釋是這樣的:
字面值類型一般比較簡單,值也顯而易見,容易得到,就把他們稱為“字面值”類型。算術類型,引用和指針都屬於字面值類。
那我這樣定義:
int a=42;
這個變量a 屬於字面值類型吧?那它不就是一個常量表達式了?
書裡的定義是不是有錯?是不是 字面值常量類型才是常量表達式?

謝謝各位前輩指教

最佳回答:


看書要看原版的,中文版的翻譯往往不准確。
這裡說的常量表達式和常量是兩個不同的概念,雖然翻譯成中文都一樣。
我們知道,C++中一個變量、一個數字、一個包含運算符的算式、一個包含等號的算式都可以視作表達式,比如
a
42
a + 42
a = 42
a == 42
a == a + 42
等等,這些都是表達式。
其中42就是一個常量,它也是字面值,你不能改變42。
a = 42
此時a也是一個表達式,但是a是變量,你可以改變a的值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved