快捷导航

c++内存注销和输入修改内存值问题

num的地址什么时候才变,我中间有隔还几分钟分钟运行一次地址还是不变,ptr_int很听话一直在变。
    还有报错的那句话,是C++没用这种用法吗,是没法输入修改指针类型内存值,还是没法输入修改new类型内存值?
    注释语句的报错提示
error: no match for 'operator>>' (operand types are 'std::basic_istream::__istream_type {aka std::basic_istream}' and '')|


    int num = 213;
    int *ptr_int = new int;
    //cin >> *ptr_int >>  endl ;这句话加上就报错
    *ptr_int = 10;

    cout

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

关于地址:
基本上编译之后,变量的地址就被确定了。所以不管运行几次 num 的地址也不会改变。
而ptr_int 所指的地址是每次运行时通过 new 申请出来的,所以其地址并不固定。


关于 cin 那句报错:
其实错误出在最后的 endl,你应该去掉它。 我在其他的问题中解释过这个,你可以参考下:http://www.imooc.com/wenda/detail/378300
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP