五千年(敝帚自珍)

主题:【原创】编程心得 -- 荆棘探兴

共:💬198 🌺258
全看分页树展 · 主题 跟帖
家园 感谢参与!建议你看一下我推荐的书,

如果你还对c++感兴趣的话,尤其是后两本。

看得出你是有一定的编程经验的,你的代码避免了很多程序员很容易犯的错误。 我发现的大问题有:

1. 从你的代码中看得出你是允许使用者用0指针的,而且你的string类缺省的内部就是0指针。可是你的strlen、strcpy、strcat都不能正确处理0指针(实际上库函数也不能)。这样如果用户的代码是

string s1,s2,s3=s1+s2;

程序就会崩溃。

2. c++程序里一般地说是不应该有malloc/free这两个库函数的。 你的程序里用这两个函数还会导致一个问题:当内存分配失败的时候malloc会返回0。而由于问题1,0指针会导致程序失败。

还有其他的一些小毛病,比如+函数里的内存使用有点笨拙,const可以再多用一些,get_str()破坏了封装,尤其是没有用const的时候。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河