当你决定用new来动态分配内存时,注意以下几点:
1 确保只有会delete。
2 确保使用正确的delete形式。
单个对象delete;数组,多个对象delete[]。
3 确保只delete了一次。
vector和string能自己管理内存,当元素被加入到容器中时,它们的内存会增长;当vector或string被析构时,它们的析构函数会自动析构容器中的元素并释放包含这些元素的内存。每当要动态分配一个数组时(new T[]),应考虑使用vector和string来替换。
当你决定用new来动态分配内存时,注意以下几点:
1 确保只有会delete。
2 确保使用正确的delete形式。
单个对象delete;数组,多个对象delete[]。
3 确保只delete了一次。
vector和string能自己管理内存,当元素被加入到容器中时,它们的内存会增长;当vector或string被析构时,它们的析构函数会自动析构容器中的元素并释放包含这些元素的内存。每当要动态分配一个数组时(new T[]),应考虑使用vector和string来替换。