指针判断问题
有一段程序需要检测内存泄露并消除,其中用到了这样的一个函数
char* myCat(char *str1,char *str2)
{
char *res;
.....
.....
lenStr1=strlen(str1);
lenStr2=strlen(str2);
res=new char[(lenStr1+lenStr2+1)*sizeof(char)];
...
...
...
return res;
}
并且有这样的调用
myStr=myCat(myStr,temp);
其中myStr和temp都是char*类型。问题是如果调用myCat之前,myStr是用new来分配的话,调用myCat之前用delete[]释放内存,但是这中调用总共在95个位置出现,myCat函数的第一个参数myStr不一定是用new分配的,可能是直接char *myStr="hello";这样的话,我在函数调用之前用delete[] myStr是错误的,不用delete[] myStre的话,如果myStr是用new分配的话,会出现内存泄露。所以怎么样判断myStr是用new分配的或者不是?如果不能判断,我只能修改定义了,因为这是一个很大工作量,所以我问一下。如果问了同样的问题,还请大家谅解,谢谢!
char* myCat(char *str1,char *str2)
{
char *res;
.....
.....
lenStr1=strlen(str1);
lenStr2=strlen(str2);
res=new char[(lenStr1+lenStr2+1)*sizeof(char)];
...
...
...
return res;
}
并且有这样的调用
myStr=myCat(myStr,temp);
其中myStr和temp都是char*类型。问题是如果调用myCat之前,myStr是用new来分配的话,调用myCat之前用delete[]释放内存,但是这中调用总共在95个位置出现,myCat函数的第一个参数myStr不一定是用new分配的,可能是直接char *myStr="hello";这样的话,我在函数调用之前用delete[] myStr是错误的,不用delete[] myStre的话,如果myStr是用new分配的话,会出现内存泄露。所以怎么样判断myStr是用new分配的或者不是?如果不能判断,我只能修改定义了,因为这是一个很大工作量,所以我问一下。如果问了同样的问题,还请大家谅解,谢谢!
...全文
相关推荐
Android中利用NetworkInfo判断网络状态时出现空指针(NullPointerException)问题的解决方法
主要介绍了Android中利用NetworkInfo判断网络状态时出现空指针(NullPointerException)问题的解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
js代码-3.1 双指针法 判断至多删除一个字符是否回文
js代码-3.1 双指针法 判断至多删除一个字符是否回文
利用指针思想判断是否为回文.docx
利用C语言编写判断一个字符串是否为回文的程序,首先设立一个头部指针指向字符串的首部,然后设立一个指针指向字符串的尾部,头部指针向前移动,尾部指针向后移动,当两个指针所指的值相等时为回文,否者不为回文,萌新一枚,第一次发帖,感谢通过!
【双指针】–leetcode(141)–给定一个链表,判断链表中是否有环(python版)
题目描述 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环 思路解析 使用快慢指针进行判断,若该链表存在环,则快慢指针必会相遇,若该链表不存在环,则快指针必会先达到链表的尾部且指向None 具体代码 class Solution(object): def hasCycle(self, head): """ :type head: ListNode :rtype: bool """
js代码-js回文数判断
js代码-js回文数判断


