12.3

12.3 在构造函数中使用new时应注意的事项

1.构造函数使用new, 析构函数使用delete
2.new对应delete, new [] 对应 delete [], delete两种方式都可以用于NULL指针, C++使用nullptr是更好的选择
3.如果有多个构造函数, 必须要么都带 [] , 要么都不带, 因为析构函数只有一个
4.定义复制构造函数, 通过深度复制将一个对象初始化为另一个对象
String::String(const String & st)
{
num_strings++;
len = st.len;
str = new char [len + 1];
std::strcpy(str, st.str);
}