使用未初始化的原始数据类型时,您会怎么想?
好吧,您可能会假设编译器应为您的原始类型变量分配有意义的值,例如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等的更多准备工作,请参阅“完整面试准备课程” 。