在本节中,我们将看到当声明一个未初始化的变量时,它们将使用C或C ++语言保存。有时我们假设编译器分配一些值,例如int为0,float等为0.0。但是字符数据类型将是什么呢?让我们看看使用实现并使用不同的编译器进行编译。
让我们看下面的实现以更好地理解-
#include <iostream> using namespace std; int main() { char char_var; float float_var; int int_var; double double_var; long long_var; cout << char_var << endl; cout << float_var << endl; cout << int_var << endl; cout << double_var << endl; cout << long_var << endl; }
0 0 0 0
5.88054e-39 0 6.95297e-310 0
9.73438e-039 4309744 1.15685e-306 -53505136
现在的问题来了,为什么C / C ++编译器不使用默认值初始化变量?答案很简单,初始化堆栈变量的开销很大,因为它阻碍了执行速度,因此,这些变量可能由不确定的值组成。因此,在将原始数据类型变量应用于代码之前,将其初始化是一种好习惯。