在C++中,合法的常量可以按照以下几个规则来判断:
整数常量:以数字开头,可以包含0-9的数字,以及可选的正负号(+/-)。例如:0, 123, -45。
浮点数常量:以数字开头,可以包含0-9的数字,以及可选的正负号(+/-),可以包含小数点(.),还可以用科学计数法表示。例如:3.14, -0.5, 1e10。
字符常量:用单引号(')括起来的单个字符。例如:‘A’, ‘5’, ‘+’。
字符串常量:用双引号(")括起来的一串字符。例如:“Hello World”, “12345”。
布尔常量:只有两个取值:true和false。
空指针常量:用关键字nullptr表示。
枚举常量:定义在枚举类型中的常量。
constexpr常量:使用constexpr关键字定义的常量。
需要注意的是,上述常量的定义方式不同,判断合法常量的方法也不同。在C++中,通常可以使用合法的语法规则来判断常量的合法性,例如,整数常量中只能包含数字字符;浮点数常量中只能包含数字字符和小数点等等。如果使用的是C++编译器,编译器会在编译时检查常量的合法性,如果常量不合法,则会产生编译错误。