在.h
文件中使用它:
int value;
这在.cpp
文件中作为循环:
std::cout << ++value << endl;
结果是这样的:
-842150449
-842150448
-842150447
-842150446
-842150445
-842150444
(..依此类推)
但是为什么呢?这个数字绝对没有道理。
答案 0 :(得分:4)
int value;
这是默认初始化的语法。默认的初始化整数具有不确定的值(除非它具有静态存储,在这种情况下,它为零初始化)。读取不确定值的行为是不确定的。
但是为什么呢?这个数字绝对没有道理。
大概是因为程序的行为是不确定的。
答案 1 :(得分:2)
值从未被初始化,因此您尝试将1添加到“不存在”的对象中,以便从刚分配给它们的值中获取这些垃圾值。试试:
value = 1;
std::cout << ++value << std::endl;
.cpp文件中的