2010-09-01 62 views
1

我有一个不断增加的“指针”,最后我需要返回指针的“头部”。我使用“pointer [0]”或者使用另一个名为“head”的变量并初始化它并在最后返回时处于两难境地。前者让我觉得代码看起来很脏,后来成本也很低。任何干净的建议?要“头”还是不要“头”?

+5

也许你应该展示你的代码来使问题更清晰。 – 2010-09-01 13:38:53

+0

使用临时变量并通过引用存储地址。请在上面添加更多细节。 – 2010-09-01 13:41:43

+0

伪代码 char * string,* temp; temp = string; process string { string ++ ....} return(string [0])?或返回温度?哪个更好? – msathia 2010-09-01 13:48:19

回答

2

你总是需要两个变量:

Foo *head = getSomeList(); 
Foo *tail = head; 
while (tail->isValid()) 
    ++tail; 
// You have head and tail here 

你不能真正实现它更不同,因为tail[0] != head(除非该列表为空)。

显示代码并告诉我们你试图达到的目标可能会导致更好的答案。