新手请教一个简单的问题!!!!!!!!! Node* p和Node *p的区别

little_ant2 2005-10-30 11:34:16
请教一个简单的问题
private:
int iVal;
string sVal;
Node* pPrev;
Node* pNext;


~LinkTable()
{
Node* ptemp1 = head;
Node* ptemp2 = NULL;
while(ptemp1!=NULL)
{
ptemp2 = ptemp1->getNext();
delete ptemp1;
ptemp1 = ptemp2;
}
}

里面的*号到底是紧跟Node还是紧跟后面的变量,这样的具体意思有什么区别?
...全文
1027 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
feitian124 2005-11-01
  • 打赏
  • 举报
回复
好象在做参数时候有差异?
不确定
nasi00 2005-10-31
  • 打赏
  • 举报
回复
从理论上来说都一样的。

我习惯使用Node *p,原因就是如果你在一行声明2个指针的时候:

Node *p1, *p2;

会比较清晰,也比较不容易犯错,而如果Node* p的话常常会写成

Node* p1, p2; // Bug

这么写就错了,因为p2没有声明成指针。

这和if(i == 1)或者if(1 == i)有什么区别一样,虽然没有区别,但是还是有些细节可以注意一下。
nol 2005-10-31
  • 打赏
  • 举报
回复 1
无区别
besthyq 2005-10-31
  • 打赏
  • 举报
回复
*只是声明的是指针。。。
int a;
int *p;
p=&a;
///////////////////////////
与int a;
int *p=&a;
效果一样的。。。。。。。。
fine10000 2005-10-31
  • 打赏
  • 举报
回复
Node *p1;
Node * p1;
Node* p1;
以上三种方式等效
aniude 2005-10-31
  • 打赏
  • 举报
回复
哪个你觉得爽就哪个咯,个人爱好,哈哈
megaboy 2005-10-31
  • 打赏
  • 举报
回复
那个*属于声明符的一部分,而不是声明说明符,无论*靠哪边,都不会改变这一性质。
cxyol 2005-10-31
  • 打赏
  • 举报
回复
一样的,推荐*与类型之间有个空格,而紧跟变量!
NCEPU_xuedone 2005-10-31
  • 打赏
  • 举报
回复
一样的,不过要是我还是喜欢写成Node *p;
lujun-cc 2005-10-31
  • 打赏
  • 举报
回复
没有什么区别,但是一般写成 Node *p,这样在定义多个变量时不容易出错,例如:
Node *pNode, node;
csucdl 2005-10-31
  • 打赏
  • 举报
回复
修饰符提倡紧跟着变量名
happydivid 2005-10-31
  • 打赏
  • 举报
回复
没有什么区别,只是一个规范编程、编程习惯而已
miniplayer 2005-10-31
  • 打赏
  • 举报
回复
恩 林博士说 要养成良好的编程习惯
*和&在使用的时候最好紧靠变量名
fancyboyxh 2005-10-31
  • 打赏
  • 举报
回复
“*” 作为指针的时候“结合性”是“右结合”的所以写的时候把“*”尽量右靠!
wyangwo 2005-10-31
  • 打赏
  • 举报
回复
没有区别,风格不同
但是在《高质量C/C++编程指南》里建议写成 node *p这种形式。

有人问过这类问题的……
hunter0912 2005-10-30
  • 打赏
  • 举报
回复
风格问题,还可以都不紧跟,放中间
一般按你对语法的理解和喜好改变
qhfu 2005-10-30
  • 打赏
  • 举报
回复
一样啊, 只是风格问题
little_ant2 2005-10-30
  • 打赏
  • 举报
回复
up!!!!

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧