gpt4 book ai didi

c++ - 在 "for"循环中初始化两个指向相同值的指针

转载 作者:太空宇宙 更新时间:2023-11-04 15:25:21 25 4
gpt4 key购买 nike

我正在使用链表并尝试初始化两个等于“first”/“head”指针的指针。我正在尝试在 for 循环中干净地执行此操作。所有这一切的目的是让我可以在链表中运行两个指针,一个紧跟在另一个之后(以便我可以根据需要进行修改)...

类似于:

//listHead = main pointer to the linked list
for (blockT *front, *back = listHead; front != NULL; front = front->next)
//...//
back = back->next;

我的想法是我可以提前递增 front 以便它领先,完成工作,而不是递增“back”直到代码块的底部,以防我需要备份以修改链表......

不管这个“为什么”,除了上面我试过的:

for (blockT *front = *back = listHead; /.../

for (blockT *front = listHead, blockT *back = listHead; /.../

我想避免指向指针的指针。我是否只需要在循环之前初始化这些?

最佳答案

你离成功不远了

for (blockT *front = listHead, *back = listHead; front != NULL; front = front->next)

请注意,它是语法糖。其实很简单

int x = 0, y = 1;

关于c++ - 在 "for"循环中初始化两个指向相同值的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9785871/

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