为什么我的变量在我尚未将其设置为任何值时返回一个值?
Why is my variable returning a value when I haven't set it to any yet?
我正在尝试学习C++,特别是如何声明和初始化变量。我写了这段代码,我不知道为什么变量 c 给出一个我还没有赋值的值。
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!n";
int a, b;
a = 1;
b = 2;
int d(4);
int result;
auto num = b;
decltype(b) c;
result = a + b - d;
cout << c;
}
输出是 -2,但我没有在任何地方说明 c = -2!
如果尚未初始化变量,则它包含垃圾值。
在 C/C++ 中,函数中声明的值表示 CPU 堆栈上主内存的某些字节。这些字节通常是脏的,需要初始化。如果不这样做,则值是未定义的。你总是得到"-2"只是巧合。
相关文章:
- 如何返回一个类的两个对象相加的结果
- 使用std::mt19937从字符串中返回一个随机单词
- PyRun_String返回一个NoneType对象
- 为什么我们要为avl树实现返回一个指向节点的指针,而不是void函数
- 返回一个带有 std::move 的对象并链接函数
- 为什么 C++ std::unordered_map 从 emplace/ 找到返回一个迭代器?
- C++:返回一个基于范围 for 循环迭代器,其中包含继承对象
- 函数可以应用于 std::optional,并返回一个可选值吗?
- readAll() 或 readAllStandardOutput() 在执行之前也返回一个空字符串
- Atmel Studio:返回一个包含数组的寄存器
- 返回一个计算了参数的函数
- 我有一个返回字符串向量的函数.它需要两个字符串,并且返回一个字符串中缺少的字符串
- 返回一个引用C++中另一个类对象的对象的有效方法
- 从类返回一个字符串 — 奇怪的行为
- 有没有一种方法可以从函数中返回一个新对象或对现有对象的引用
- 我正在尝试从 GMocked 类返回一个 rapidjson::值,但我似乎无法让它工作
- 实现一个函数,该函数将字符串作为输入并返回一个新字符串,辅音字母不替换为 "!"
- 错误 C4716"当事方::运算符+":必须返回一个值
- CStringArray::GetAt(int index) 返回一个 const. 为什么?
- 从system()调用G++会返回一个错误