gpt4 book ai didi

c++ - 如何在多个函数中使用结构

转载 作者:行者123 更新时间:2023-11-28 01:05:48 24 4
gpt4 key购买 nike

我正在使用这样的结构

  struct IF_ID {
int PC;
string instruction;
};

然后在

    int main()
{
IF_ID stage1;
stage1.PC=0;
FETCH(stage1);
DECODE(&stage1);
return 0;
}

当我在 FETCH(stage1) 函数中传递 stage1 时它工作正常,问题是我需要在 FETCH 中计算的值(stage1) 在第二个函数 DECODE(stage1) 中再次使用例如,如果 stage1.PC 等于 5,我需要在 DECODE(stage1) 函数中重用它,我该怎么做??

最佳答案

您正在按值将结构传递给 FETCH()。
这意味着它已复制到函数中。

如果你想传递实际的结构,你需要方法来接收它的指针或引用:

引用:

void FETCH(IF_ID& ref_stage);

指向结构的指针:

void FETCH(IF_ID* ref_stage);

如果通过引用使用,内部函数语义不会改变。

关于c++ - 如何在多个函数中使用结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6229098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com