Tim*_*ick -6 c++ syntax pointers
如果将指针设置为null,则删除该变量.它不能再使用了,它不再需要您的存储空间.指针的名称代表其值.它的价值永远&someVariable.我可以这样做:&someVariable = null;
[编辑]当我写这篇文章时,我对C++很陌生,所以我有多种误解.
要删除指针,您必须delete ptr;而不是通过将其设置为null ptr = nullptr;.
&someVariable 是一个右值,因此无法分配任何东西.
它是0,NULL或者nullptr不是null.
总而言之,你永远不应该delete &anything;,即使你很幸运,它也会编译.只需删除分配时获得的指针即可anything.
不,你不能.&someVariable是一个左值.它无法分配,尝试也毫无意义.
而且,你想要做的事情的想法是毫无意义的.函数变量在堆栈上分配,仅在函数返回时释放.无法释放全局变量.如果堆不能以这种方式工作,则可能无法释放已分配结构中的变量.
变量不会被删除.这毫无意义.内存取消分配取决于它的分配方式:
new- > delete或auto_ptr其他智能指针(调用delete)malloc- >free