指针的赋值问题。。。

cross2 2008-06-15 10:49:34
已知:string *pstr = new string; string str = " .... ";
请问,以下两种赋值方式有何区别啊?
1> *pstr = str;
2> pstr = &str;
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cross2 2008-06-15
  • 打赏
  • 举报
回复
谢谢帮忙哈
crocke 2008-06-15
  • 打赏
  • 举报
回复
学习了
sentball 2008-06-15
  • 打赏
  • 举报
回复
补充楼上的
*pstr = str *pstr就是一个对象了,给对象赋值就会引发=操作运算符,如果没有显示(operator =)C++则会默认会位拷贝,比较安全(如果类内部还有指针那还是有危险存在)
pstr = &str直接赋值指针,这时候使用pstr就要注意了,如果str被析构之后再使用pstr将导致非法
yuzl32 2008-06-15
  • 打赏
  • 举报
回复
1> *pstr = str; //将str赋值给*pstr,这是对象的赋值语句,涉及到调用string的'='操作运算符号
2> pstr = &str; //直接将指针赋值给pstr

33,311

社区成员

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

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