- 此问题在此处已有答案**:
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
的简写,还是它们不同?
2条答案
按热度按时间jgwigjjp1#
就是一个。
2.
和2.0
是相同的,都是double
literals,第一个只是一个较短的版本。2.f
和2.0f
是相同的,并且是float
文本。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
代表整数文字而不是浮点文字。