int *x = new int;
*x = 5;
cout << x << endl;
delete[] x;
我正在尝试动态地将资源分配给变量&#39; x&#39;。然后我分配值&#39; 5&#39;它。当我尝试打印&#39; x&#39;的值时,我得到一些名为0x8321的垃圾值,依此类推。我确信这不是我指定的价值。
知道怎样才能访问x的值吗?
答案 0 :(得分:3)
您必须使用std::cout << *x << std::endl
。
您获得的值是指针指向的内存(区域)的地址。
编辑:并使用delete x;
代替delete[] x;
。
答案 1 :(得分:1)
您当前正在打印指针的地址。如果你想要你应该做的价值
cout << *x << endl