1.有一个new操作,就需要一个delete操作;
2.有一个new []操作,就需要一个delete[]操作,否则内存泄漏
所以应该是{char* s = new char[100];delete[] s;}
s本身存在于栈,指向的空间位于堆;
3.char* s = “hello”;//“hello”是常量,会被放入全局变量区,不会因为结束而消失。s是栈区会消失;
4.最后一个,如果在bar返回后,直接丢弃返回的指针,肯定会内存泄漏
本文探讨了C++中new和delete操作符的正确使用方法,强调了对于new分配的内存必须用对应的delete释放以避免内存泄漏。同时介绍了字符串字面量在内存中的存储位置及其特性。
1.有一个new操作,就需要一个delete操作;
2.有一个new []操作,就需要一个delete[]操作,否则内存泄漏
所以应该是{char* s = new char[100];delete[] s;}
s本身存在于栈,指向的空间位于堆;
3.char* s = “hello”;//“hello”是常量,会被放入全局变量区,不会因为结束而消失。s是栈区会消失;
4.最后一个,如果在bar返回后,直接丢弃返回的指针,肯定会内存泄漏
1187
1万+

被折叠的 条评论
为什么被折叠?