c++结构体花括号赋值
时间: 2023-11-02 12:23:45 浏览: 106
c结构体的花括号赋值是一种可以在创建结构体实例时直接同时给结构体的属性赋值的方式。通过在构造函数中定义结构体的属性并在创建结构体实例时传入相应的值,可以在一条语句中完成赋值操作。例如,在构造函数与结构体名称相同的情况下,可以使用花括号赋值方式来创建结构体实例并同时赋值属性,如下所示:
```c++
#include <iostream>
using namespace std;
struct man {
int height;
int weight;
man(int h, int w) {
height = h;
weight = w;
}
};
int main() {
man jack(175, 120);
cout << jack.height << "," << jack.weight;
return 0;
}
```
当构造函数与结构体名称不同时,也可以使用花括号赋值方式来创建结构体实例并单独修改属性的值。可以在构造函数之后通过调用结构体的方法来修改结构体实例的属性,或者直接通过结构体实例的点操作符来修改属性的值,如下所示:
```c++
#include <iostream>
using namespace std;
struct man {
int height;
int weight;
void change(int h, int w) {
height = h;
weight = w;
}
};
int main() {
man jack;
cout << jack.height << "," << jack.weight << endl;
jack.change(170, 110);
cout << jack.height << "," << jack.weight << endl;
jack.height = 175;
jack.weight = 120;
cout << jack.height << "," << jack.weight << endl;
return 0;
}
```
另外,你还可以使用单独赋值的方式来给结构体的属性赋值。在创建结构体实例后,可以通过结构体实例的点操作符来单独赋值属性的值,如下所示:
```c++
#include <iostream>
using namespace std;
struct man {
int height;
int weight;
};
int main() {
man jack;
jack.height = 175;
jack.weight = 120;
cout << jack.height << "," << jack.weight;
return 0;}
```
因此,c结构体的花括号赋值提供了一种方便同时赋值结构体属性的方式,可以根据需要选择使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [c++结构体属性单独赋值与括号赋值的区别](https://blog.csdn.net/qq_62761504/article/details/129778803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文