我有一个指向null的指针,我想为它赋值.但如果我尊重它,我会得到一个错误.我试过这个:
*nullPointer=value;
Run Code Online (Sandbox Code Playgroud)
但就像我说的,我收到了一个错误.我怎样才能做到这一点?.我做不到
nullPointer=&value
Run Code Online (Sandbox Code Playgroud)
因为后来的值(它是一个对象)被删除,而nullPointer将指向无效的内存.
指针必须指向有效对象才能有意义,并且您有责任确保它指向的对象保持有效.
如果它指向的对象在堆栈上,并且在其作用域结束后变为无效您应该使用动态内存在堆上分配对象.然而,知道你在做什么以及你是否需要这些信息的信息太少了.
int *ptr = new int;
*ptr = value;
...
...
delete ptr;
Run Code Online (Sandbox Code Playgroud)
指针指的是内存 (RAM) 中的位置。当你有 a 时,null pointer它指向 null,这意味着它不指向内存中的位置。只要指针为空,它就不能用于存储任何信息,因为没有内存支持它。
要使用空指针,必须首先分配内存,然后让指针指向新分配的内存。
*int p = null;
*p = 10; //this won't work as there is no memory backing up this pointer
p = new int;
*p = 10;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1015 次 |
| 最近记录: |