我什么时候应该使用指针而不是?什么是更好的方式?我必须删除程序结束时指针的cat对象吗?
例:
cat piki;
piki.miao();
cat *piki2 = new cat();
piki2->miao();
Run Code Online (Sandbox Code Playgroud)
尽可能尝试避免使用new(即在堆上)创建对象,因为您必须自己进行内存管理(或者至少需要使用智能指针).如果在堆栈上分配对象(即cat piki;),cat则当piki超出范围时,将自动释放为该对象分配的内存.这不会发生piki2,你需要明确地delete piki2;释放内存.
| 归档时间: |
|
| 查看次数: |
251 次 |
| 最近记录: |