以上执行后发现test输出的全都是最后一次pushback进去的值。
原因猜测:因为我对c/c++学习的不多,所以看法可能不准确。
由于s没有用new分配空间,所以整个for循环的过程中,s始终表示内存的同一块空间,每一次pushback进去的都是同一块内存空间的地址,所以每次循环都只是在用新值覆盖旧值。正确的写法应该是:
存储n个值必然需要n个相应的内存空间,而第一段程序从始至终只用了一块内存空间,所以会出现错误
以上执行后发现test输出的全都是最后一次pushback进去的值。
原因猜测:因为我对c/c++学习的不多,所以看法可能不准确。
由于s没有用new分配空间,所以整个for循环的过程中,s始终表示内存的同一块空间,每一次pushback进去的都是同一块内存空间的地址,所以每次循环都只是在用新值覆盖旧值。正确的写法应该是:
存储n个值必然需要n个相应的内存空间,而第一段程序从始至终只用了一块内存空间,所以会出现错误
版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。