c++的reset函数
在C++中,reset函数是一个非常实用的函数,它用于将对象的成员变量重置为初始状态。这个函数通常用于重置指针、引用或特定类型的变量。
下面是一个使用reset函数的例子:
```c++
#include <iostream>
#include <string>
class MyString {
public:
    // 默认构造函数
    MyString() : data(nullptr), len(0) {}
    // 拷贝构造函数
    MyString(const MyString& other) : data(new char[other.len]), len(other.len) {
        std::copy(other.data, other.data + len, data);
    }
    // 重置函数
    void reset() {
        delete[] data;
        data = nullptr;
        len = 0;
    }
    // 析构函数
    ~MyString() {
        delete[] data;
指针调用成员函数    }
    // 其他成员函数...
private:
    char* data;
    int len;
};
int main() {
    MyString str1;
    std::cout << "str1 is: " << str1 << std::endl;
    set();
    std::cout << "str1 after reset is: " << str1 << std::endl;
    MyString str2("Hello, world!");
    std::cout << "str2 is: " << str2 << std::endl;
    set();
    std::cout << "str2 after reset is: " << str2 << std::endl;
    return 0;
}
```
在这个例子中,我们定义了一个名为MyString的类,它有一个名为data的指针成员和一个名为len的整型成员。类的构造函数会分配内存给data指针,并在析构函数中释放内存。reset
函数被用来重置data指针为nullptr,并把len设置为0。当我们使用reset函数时,我们会先删除data指向的内存,然后把data设置为nullptr,最后把len设置为0。这样做可以确保MyString对象在调用reset函数后处于安全的状态。