C++作业中有个实现插入功能的函数不大理解,可以解释一下吗?谢谢
#include #include using namespace std;class STR{ char *p;public: STR(char *s = 0) { if (s) { p = new char[strlen(s) + 1]; strcpy(p, s); } } void set(char *s = 0) { if (p) delete []p; if (s) { p = new char[strlen(s) + 1]; strcpy(p, s); } else p = 0; } void join(char *s) { int n1 = strlen(p), n2 = strlen(s); char *p0 = new char[n1 + n2 + 1], *p1 = p0, *p2 = p; while (*p1++ = *p2++); p1--; p2 = s; while (*p1++ = *p2++); delete []p; p = new char[n1 + n2 + 1]; p1 = p; p2 = p0; while (*p1++ = *p2++); delete []p0; } void backward() { char *p1 = p, *p2 = p; while (*p2++); p2 -= 2; while (p1 |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|