c++ 结构体重新赋为原始值
时间: 2023-07-23 14:24:11 浏览: 52
如果你想将一个结构体变量重新赋值为原始值,可以考虑使用以下两种方法:
1. 使用结构体变量的初始值:
如果你在定义结构体变量时,使用了初始值,你可以将该结构体变量重新赋值为初始值。例如:
```
struct MyStruct {
int value1 = 0;
int value2 = 0;
};
MyStruct myStruct = {1, 2}; // 定义并初始化结构体变量
myStruct = MyStruct(); // 将结构体变量重新赋值为原始值
```
在这个例子中,当你将 `MyStruct` 类型的变量 `myStruct` 赋值为 `MyStruct()` 时,它的值将被重新设置为 `{0, 0}`,即初始值。
2. 定义一个重载了赋值运算符的函数:
另一种方法是,你可以定义一个重载了赋值运算符的函数,将结构体变量重新赋值为原始值。例如:
```
struct MyStruct {
int value1 = 0;
int value2 = 0;
MyStruct& operator=(const MyStruct& other) {
value1 = 0;
value2 = 0;
return *this;
}
};
MyStruct myStruct = {1, 2}; // 定义并初始化结构体变量
myStruct = MyStruct(); // 将结构体变量重新赋值为原始值
```
在这个例子中,当你将 `MyStruct` 类型的变量 `myStruct` 赋值为 `MyStruct()` 时,它的值将被重新设置为 `{0, 0}`,即初始值。这是因为 `MyStruct` 类型的变量 `myStruct` 的赋值运算符被重载了,它将变量的所有成员都设置为 0。