C++ 如何在c++; 使用名称空间std; int main() { int slotWild=0; int slotOne=1+slotrid; int slotTwo=1+slotOne; cout

C++ 如何在c++; 使用名称空间std; int main() { int slotWild=0; int slotOne=1+slotrid; int slotTwo=1+slotOne; cout,c++,C++,这些不是“定义”,它们是赋值。当你说x=y+1时,你是说“赋值给x从现在开始的y的值加1” 如果希望它是动态的,则必须定义一个函数,如中所示: using namespace std; int main() { int slotWild = 0; int slotOne = 1 + slotWild; int slotTwo = 1 + slotOne; cout << slotWild << slotOne << slotTwo

这些不是“定义”,它们是赋值。当你说
x=y+1
时,你是说“赋值给
x
从现在开始的
y
的值加1”

如果希望它是动态的,则必须定义一个函数,如中所示:


using namespace std;

int main()
{
   int slotWild = 0;
   int slotOne = 1 + slotWild;
   int slotTwo = 1 + slotOne;

   cout << slotWild << slotOne << slotTwo;
   slotWild -= 1;
   cout << slotWild << slotOne << slotTwo;
   slotWild -= 1;
   cout << slotWild << slotOne << slotTwo;
   return 0;
}
其中要求
slowrid
为类属性或全局变量

这意味着您也需要调用它,例如:

int slotOne() {
  return 1 + slotWild;
}
初始化部分在定义此变量时发生,如在执行该行代码时


(与C++中的许多事物一样,情况并非总是如此,但作为一个一般规则,它是如何工作的)。

因为C++是这样工作的。如果一个变量被用来计算另一个变量,然后原始变量的值改变,那么在第二个变量上就没有任何效果。C++不是电子表格,其中一个单元格自动更新其他引用公式的单元,这不是C++的工作原理。n您写入
int slotOne=1+slotWild;
,表达式
1+slotWild
将被计算,该值存储在与
slotOne
关联的内存位置。此操作发生后,
slotOne
不保留“how”的内存它在现在的位置。C++中的<代码> int /COD>只在(可能)(-^ ^ 31)和(2 ^ 31)-1之间保持一个数值。它们是定义,是初始化,而不是赋值。不幸的是“定义”一词。在C++中有不同于数学的含义。“核桃,是的,在数学定义和C++定义之间走这条线。非常感谢!我知道它是一种类似的东西。欣赏它:”DV1651,如果你不知道的话,请看。注释部分不是用来表示“谢谢”的。评论和类似的评论。相反,如果答案对你有帮助(一旦你有足够的声誉),你可以对其进行投票,并且你可以通过单击旁边的复选标记来接受对你最有帮助的答案。(不过,你不必做任何事。)
cout << slotWild << slotOne() << slotTwo();
int slotOne = 1 + slotWild;
^^^^^^^^^^^   ^^^^^^^^^^^^^
    |              \- Variable Initialization
    \--- Variable Definition