我们知道,string类内部的构造函数是采用new来分配地址的。当创建对象时,会调用string的构造函数,从而实质上也使用了new。那么问题来了,如果我用new再创建一个string类型的指针呢?下面先来看我自己定义的String类。(注意:不是标准string类)
1 #ifndef STRING6_H_ 2 #define STRING6_H_ 3 #include <cstring> 4 5 class String 6 { 7 private: 8 char * str; 9 int len; 10 11 public: 12 String(); 13 String(const char * s); 14 ~String(); 15 }; 16 17 String::String() 18 { 19 len = 4; 20 str = new char[len + 1]; 21 str[0] = '