我非常困惑,使用指针。在下面的代码中,如果我设置currentYear = 2010,我预计2010年的值将分配给initYear。但是,当我调试它时,在代码的第一行,inityear = 2009。在代码的最后一行,initYear也等于2009,currentYear = 2010.将值传递给指针
任何人都可以解释为什么发生这种情况,以及我当今年2010年可以使initYear成为2010年吗?谢谢。
下面是代码:
int initYear = pEnvContext->currentYear;
for (int i=0; i < m_numberOfRuns; i++)
{
UpdateMonteCarloInput(pEnvContext,i);
pEnvContext->run=i;
pEnvContext->currentYear=initYear;
谢谢。所以,pEnvContext实际上指向currentYear的地址,它是一个地址,而不是一个值。我对么?对不起,这个愚蠢的问题,但我是新来的C + +,是非常困惑。 – James
'pEnvContext'指向某个类,'currentYear'是该类的成员变量,您可以通过编写'pEnvContext-> currentYear'来访问它。 – Danvil