双重符号之间的区别
Difference Between Double's Notation
在 learncpp.com 上,建议将双打写成:
double num {5.0}
这和:
之间有什么真正的区别吗?
double num {5}
我的编译器 (VS 2019) 似乎将它们视为等同的。
对于那种特定情况,它们实际上是等效的,但是,情况并非总是如此。
例如:
#include <iostream>
void foo(int v) {
std::cout << "foo(int) called\n";
}
void foo(double v) {
std::cout << "foo(double) called\n";
}
int main() {
foo(5.0);
foo(5);
}
该程序产生:
foo(double) called
foo(int) called
如果仅出于这个原因,当您想表达 double
值时,最好养成始终使用 double
文字的习惯,即使是 int
文字本来也一样。否则,迟早你会运行陷入一些意外。
在 learncpp.com 上,建议将双打写成:
double num {5.0}
这和:
之间有什么真正的区别吗?double num {5}
我的编译器 (VS 2019) 似乎将它们视为等同的。
对于那种特定情况,它们实际上是等效的,但是,情况并非总是如此。
例如:
#include <iostream>
void foo(int v) {
std::cout << "foo(int) called\n";
}
void foo(double v) {
std::cout << "foo(double) called\n";
}
int main() {
foo(5.0);
foo(5);
}
该程序产生:
foo(double) called foo(int) called
如果仅出于这个原因,当您想表达 double
值时,最好养成始终使用 double
文字的习惯,即使是 int
文字本来也一样。否则,迟早你会运行陷入一些意外。