📜  C / C++中未初始化的原始数据类型

📅  最后修改于: 2021-05-26 00:40:35             🧑  作者: Mango

使用未初始化的原始数据类型时,您会怎么想?
好吧,您可能会假设编译器应为您的原始类型变量分配有意义的值,例如int为0,float为0.0。那么char数据类型呢?

让我们通过在IDE中运行代码来找到答案。

#include 
  
using namespace std;
  
int main()
{
    // The following primitive data type variables will not
    // be initialized with any default values
    char ch;
    float f;
    int i;
    double d;
    long l;
  
    cout << ch << endl;
    cout << f << endl;
    cout << i << endl;
    cout << d << endl;
    cout << l << endl;
  
    return 0;
}

在GFGs IDE中输出:

5.88052e-39
0
6.9529e-310
0

在Codechef IDE中的输出:

0
0
0
0

我的机器上的输出:

1.4013e-045
0
2.96439e-323
0


为什么C / C++编译器不使用默认值初始化变量?

“使C++可行的一件事是零开销规则:您不用的东西,不用花钱。” -斯特罗斯特鲁普。

初始化堆栈变量的开销很大,因为它会影响执行速度,因此这些变量可能包含不确定的值。在代码中使用原始数据类型变量之前,最好将其初始化。

想要从精选的最佳视频中学习并解决问题,请查看有关从基础到高级C++的C++基础课程以及有关语言和STL的C++ STL课程。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”