我有一个不断递增的“指针”,我需要最终返回指针的“头”。我进退两难,要么使用“pointer[0]”,要么使用另一个名为“head”的变量并初始化它并在最后返回。我觉得前者使代码看起来很脏,后来占用的内存很少。有什么干净的建议吗?
最佳答案
你总是需要两个变量:
Foo *head = getSomeList();
Foo *tail = head;
while (tail->isValid())
++tail;
// You have head and tail here
因为 tail[0] != head
(除非列表为空),您无法真正以不同方式实现它。
展示代码并告诉我们您尝试实现的目标可能会得到更好的答案。
关于c - 到 "head"还是不到 "head"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3618629/