gpt4 book ai didi

c++ - 关于函数和指针的作业需要帮助

转载 作者:行者123 更新时间:2023-11-30 03:01:58 26 4
gpt4 key购买 nike

假设 f() 返回对整数的引用 (int & f();)、f()+=5;f( )=f()+5; 是不同的,请解释如何并给出 f() 的伪代码来说明这种差异。

如果p是一个int *p,C++中这两条语句有什么区别:

if (p!=NULL && *p !=0).... 
if (*p !=0 && p !=NULL)....

最佳答案

首先,您可以让 f() 声明两个静态变量和一个指向其中一个的静态指针。

然后在每次调用时交替返回它们,例如(伪代码,因为它是家庭作业):

def f():
static var1 = 0;
static var2 = 42;
static pointer curr_var = reference of var1
if curr_var == reference of var1:
curr_var = reference of var2
else:
curr_var = reference of var1
return curr_var

或者,更糟的是:

def f():
static var1 = array[1024];
static idx = -1;
idx = (idx + 1) % 100
return reference of var1[idx]

对于你的第二个问题,提示是*pp之间的区别。例如,在 p 本身可能为 NULL 的情况下,我不会使用第二个。

关于c++ - 关于函数和指针的作业需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10545252/

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