如果是你自己申请的内存才需要释放。如果是你只是一个局部变量,
比如这样定义的int
arr[10000][10000],就不需要释放。系统会自动释放的
C++中操作内存的一条重要准则就是不能让指向new出来的内存指针丢失。如果只是临时变量,建议不要用new的方式,而用局部变量的方式。如果不能使用局部变量,那么一定记得在函数return之前用delete释放掉,如果有多个return,那么每个return之前都要delete。
临时变量最好不要分配内存,没有必要,如果new了,就在函数返回之前delete掉,如果你需要一个全局性的数据就用全局变量。
name 和company 指针每个四字节空间 是 栈内存。 指针指向的空间 是从外部传入可能是堆也可能是栈。你这个类设计有问题:name 和 company 所占用的空间应该在内部重新分配,在内部保存一个n 和 c 的副本。析构函数中释放,而不是只是保存外部传入的指针。