c++ 为什么这个例子使用'2.'而不是'2.0'(没有小数点的小数点)?[duplicate]

blpfk2vs  于 2023-02-06  发布在  其他
关注(0)|答案(2)|浏览(200)
    • 此问题在此处已有答案**:

What is the meaning of a dot (.) after an integer in c?(2个答案)
17小时前关门了。
我遇到过this tutorial,但从未遇到过以下语法:gp_Pnt aPnt1(-myWidth / 2., 0, 0);。我可能找错地方了,但是为什么G ++接受所有这3个变量初始化?

double a = 2;
double b = 2.;
double c = 2.0;

我不记得遇到过2.-这是2.0的简写,还是它们不同?

jgwigjjp

jgwigjjp1#

就是一个。
2.2.0是相同的,都是doubleliterals,第一个只是一个较短的版本。
2.f2.0f是相同的,并且是float文本。

6mw9ycah

6mw9ycah2#

根据this documentation,在c++中有六种方式来声明浮点常量,其中三种使用十进制格式,另外三种使用十六进制格式,至于十进制格式,语法如下:
数字序列小数指数后缀(可选)(1)
数字序列.十进制指数(可选)后缀(可选)(2)
数字序列(可选)。数字序列小数指数(可选)后缀(可选)(3)
所以double a = 2;中的字面量2使用的是语法(1)double b = 2.;中的字面量2.使用的是语法(2)double c = 2.0中的字面量2.0使用的是语法2.0,据我所知,在这个上下文中语义上没有什么区别,但是在另外一个上下文中,比如说int d = 2;,文字2代表整数文字而不是浮点文字。

相关问题