问个很基础的问题,请大家别见笑 这样的代码会不会造成内存泄露?char *str1 = new char[4];char *str2 = "abcdefghijklmno";str1 = str2;就这样.str1原先获得的4个char内存去哪里呢?会被自动回收吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还有,这样又会不会泄露呢?char *str1 = new char[4]; char *str2 = "1234567890";str1 = new char[10];str1 = str2;这里,str1本来有4个char内存,但为接收10个char的字符串str2,又new了10个char那么,它总共new了多少个char?原先的4个char会丢失泄露吗?两个问题,谢谢大家指导新手. new 出来的内存是要自己 delete 的lz 的代码里,new 的内存没有释放,而指针又赋了新值原来的地址没有其他的方式引用了,出现了 memoey leak 那使用char*岂不很麻烦?假如我原先char *str1 = "1234567890"; char *str2 = new char[10]; str2 = str1;然后我想给它赋新值 str2 = "1234";那么必须这样? delete []str2; str2 = "1234";如果还是通过str3获得的,还需要: delete []str2; str2 = new char[4]; str2 = str3;是这样吗? 那么说,复制字符串时,要将复制到的字符串先delete空,再new足够的数量.对吧? lz 弄错了概念这里的 char * 不应该重新赋值,分配新的空间应该改变的 char * 指向的内存空间的内容C 字符串的操作不是用 =,要用 strcpy 之类的函数C++ 的话,就用 std::string 恩 这个现在明白了.但还是不完全理解,strcpy的话,也是必须实现new够字符的,那还是要先delete再new? MFC 应用程序如何转为DLL 关于OpenThread函数调用的问题? BasicExcel内存问题 求救:怎么模拟向其它进程的TreeView指定节点发送鼠标双击消息? 想买个数码相机,大家热心点,提点建议 如何让编辑框里面的字符自动换行? 如何得到edit控件的字体? 请问SDK编程怎样使用BS_ICON,BS_IMAGE来设置按钮? 求助,如何根据配置文件调用两个相同接口的但不同版本的lib库? 一个文件读写问题 error LNK2001: 读TXT文件的问题!
char *str2 = "1234567890";
str1 = new char[10];
str1 = str2;这里,str1本来有4个char内存,但为接收10个char的字符串str2,又new了10个char那么,它总共new了多少个char?原先的4个char会丢失泄露吗?两个问题,谢谢大家指导新手.
char *str2 = new char[10];
str2 = str1;然后我想给它赋新值 str2 = "1234";
那么必须这样? delete []str2;
str2 = "1234";如果还是通过str3获得的,还需要:
delete []str2;
str2 = new char[4];
str2 = str3;是这样吗?
恩 这个现在明白了.但还是不完全理解,strcpy的话,也是必须实现new够字符的,那还是要先delete再new?